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

タグの絞り込みを解除

swigとpythonに関するtontenkarariのブックマーク (4)

  • SWIG Basics

  • SWIG and Python

    Caution: This chapter is under repair! This chapter describes SWIG's support of Python. SWIG is compatible with most recent Python versions including Python 3.0 and Python 2.6, as well as older versions dating back to Python 2.0. For the best results, consider using Python 2.3 or newer. This chapter covers most SWIG features, but certain low-level details are covered in less depth than in earlier

  • swig std string

    スクリプト言語から C のライブラリを使うためのラッパを作るなら SWIG です。使ってみると、これが思っている以上に強力でエレガントにラップしてくれることに気づきます。 SWIG のすごさというのは、各言語の最大公約数の部分をうまく共通化させてくれるところだ。たとえば、現代的な言語はどれもクラス、文字列型、配列、例外機構といったものを備えているわけだから、それらを自動で相互に変換して欲しい。class は別言語のクラスに、std::vector は配列に、std::string は文字列に自動で読み替えて欲しい。もちろん、それ以外に表現方法があるのはわかるんだけど、他言語とのインターフェースという限られた用途に最適性を求めるのは不毛だろう。 http://python.matrix.jp/tips/cpp_extension.html いろんな人が言及しているので、二番三番煎じなんですが

    swig std string
    tontenkarari
    tontenkarari 2011/02/01
    配列を渡したりstd::vectorを受けたり
  • swig(python編) - 三次元日誌

    とりあえずpython2から。 VC9ExpressEditionで家のcpythonバージョン2.6向けのモジュールをビルドしたメモ。 swigは最初cygwinのものを使ったが、バージョンが1.3.38とちょっと古かったのでswigのサイトでwindows向けビルド(1.3.40)を落としてきた。ついでなので2つのswigの出力結果を比べてみたところわりと違った。たぶん改行コードの違いとバージョンの違いが主だと思うが、最新版のWindowsビルドを使うほうが無難な気がする。 後で使う予定のポリゴンローダを模した練習用のC++コード main.cpp #include "loader.h" #include <iostream> int main(int argc, char **argv) { Loader l; if(!l.read(argv[1])){ return 1; } s

    swig(python編) - 三次元日誌
  • 1