タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

golangとCに関するtyruのブックマーク (2)

  • Go言語+SWIGでC言語のライブラリを呼び出す - あんこひのにっき

    Go言語のリリース版が出たということで、今回はSWIGでC言語で書かれたライブラリのラッパーを生成してみます。 C言語だったら直で呼べるのですが、C++のライブラリを使うためにはSWIGを使うと非常に便利なので、まずはC言語で練習してみたいと思います。 環境は Ubuntu 11.10 GCC 4.6 Go1 SWIG 2.0.4 です。 参考ページは SWIG and Go http://www.swig.org/Doc2.0/Go.html です。 まずはGo言語から呼び出したいCのコードを書きます。 Hoge.h int Nibai(int num); Hoge.c #include "Hoge.h" int Nibai(int num) { return num * 2; } 次にSWIGがこのコードを解釈するための設定ファイル(.i)を書きます。 Hoge.i %module H

    Go言語+SWIGでC言語のライブラリを呼び出す - あんこひのにっき
  • Big Sky :: Goでmigemoライブラリ作った。

    そろそろgoでライブラリを作る頃かなーと思って、migemo(cmigemo)を使う物を書いてみた。 mattn's go-migemo at master - GitHub migemo extension for go コードの中ではKoRoNさんのcmigemoを使った。コードは少ないけど実は少しハマって、今日はそれを書き記したい。 migemoでは、正規表現文字列やパターン文字列をunsigned char*で引数として扱っているんですが、cgoを使ったC言語ライブラリの取り込みを行う場合、char*と型が合わなくてコンパイルエラーが発生する。しかしC言語の様に *C.uchar(p) 等と書けない(これだとucharの参照になってしまう)Go君は、致し方なくchar*を引数に持つwrapper関数を用意するしかないんだけど、実はcgoにわせるgoファイルでは package m

    Big Sky :: Goでmigemoライブラリ作った。
    tyru
    tyru 2009/11/25
  • 1