Code Archive Skip to content Google About Google Privacy Terms
SWIG を使って libnmz の様々な言語用のバインディングを作成してみましょう。 今回は UNIX 環境(Linux)で Python から libnmz の nmz_get_version を呼び出すことを考えます。 モジュール名は前回と同じ Sample とします。 SWIG 用インターフェイスファイルを Sample.i という名前で作成します。 中身は前回と全く同じです。 %module Sample %{ #include "namazu/libnamazu.h" %} char *nmz_get_version(); Sample モジュールを作成するために次の内容の setup.py ファイルを作成します。 #!/usr/local/bin/python from distutils.core import setup, Extension Sample_module
いくつかの落とし穴をよければ意外と簡単だったので、 この文章を必要としている誰かのために整理してみることにします。 追記: おびなたのはてな日記 - distutils with boost.pythonで詳しく説明されているように、C++とBoostを使うともっと楽になるようです。近いうちに試してみます。 また、 Cybozu Developer Network: Python調査報告 (2006/10) によれば 「PEAKの setuptools は distutils の拡張で(中略)distutils の上位互換であるため、setuptools を使用しない理由はありません。積極的に使用しましょう。」とのことなのでこちらも試してみたいと思います。 Cのコードを用意する 書き換えるべき所を明確にするために、 [[MODULE_NAME]]というように表記しました。 同じ名前の括弧に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く