XCB(X C Binding)は、X Window System のC言語バインディングである。Xlibを置換することを目的としている。このプロジェクトは Bart Massey が2001年に開始した。Xlib/XCB は Xlib と XCB のアプリケーション・バイナリ・インタフェース互換性を提供することで、段階的な移植経路を提供するものである。Xlib/XCB は Xlib のプロトコル層を使うが、Xlib トランスポート層は XCB で置換しており、XCB を直接使うために XCB コネクションにアクセスできるようになっている。XCB の主な目的は以下の2つである。後者の目的には、C言語インタフェースを非同期にするという意味も含まれ、マルチスレッド化しやすくし、(XMLプロトコル記述により)拡張実装を容易にする。コアプロトコルと拡張プロトコルはXML (xcb-proto) で記述され、CバインディングはPythonスクリプトによって生成される(以前のバージョンではXSLTあるいはm4を使っていた)。第三の目的は、このプロトコル記述をプロトコルに関する文書生成に再利用したり、C言語以外のバインディングやサーバサイドのスタブ生成に活用することである。Massey らは XCB の主要部分の形式的検証をZ言語を使って行ってきた(Xlib にはマルチスレッドの同期処理にAPI仕様レベルで誤りがあることが以前から知られていた)。XCB はこの例からも分かるとおり、Xlibにほぼ相当するものの、API の抽象化レベルは若干低い。XCB の作者はX11プロトコルを記述するプログラミング言語に中立であり、他のプログラミング言語とのバインディングを可能にする、専用のインターフェイス記述言語を XML で作った。libxcb 自身はコードジェネレーターと小さなC言語のユーティリティー関数からなる。例:
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。