2014-05-28 Go言語のC-bindings(.goc/.cgo)を見てみる。 ソフトウェア開発 Go言語のソースコードを見てみると拡張子が、.gocというファイルを良く見かける。これは何?ということでちょっと調べてみた。 このファイル群は、Go言語のCバインディング記述を持ったファイルであり、pkg/runtime/dist以下のgoc2c.cにより、C言語のコードに変換される。(親玉からはmain.c=>build.c=>goc2c.cの呼び出し関係にある) コードの更新の歴史から見てみると、2010年4月に、拡張子がcgoからgcoに変わったらしい。このため、コードツリーにはcgoというディレクトリがいまだに残っている。ソースコード GitHub - golang/go: The Go programming language メーリングリスト Google グループ 日本語参考資料 cgo の基本的な使い方とポインタ周りのTips (Go v1.2) - LESS IS MORE