New Revisions of Boost Since this Wiki page was originally written, Boost::Python has added C++ wrappers for a lot of the direct C code this page references. The documentation for those wrappers are available under "Embedding" in the TOC. The current version, as of this writing, is here: http://www.boost.org/doc/libs/1_46_0/libs/python/doc/v2/exec.html An example similar to the one below is provid
pythonとc++のインターフェイスを作る方法には boost.pythonを使う方法 swigを使う方法 python.ctypesを使う方法 f2py (Fortranを使うためのInterface)を使う方法 pyreを使う方法 直接Cのインターフェイスを作る方法 があるようだ。 http://www.scipy.org/Cookbook のUsing NumPy With Other Languages のセクションにさらに詳しい解説がある。 ここでは特に配列(numpyの行列)をc++と連携して使う方法に注目していくつかの方法を比較する。numpyは数値計算や行列演算を行うpythonのパッケージでnumarrayの後継にあたる。numpyはnumarayと違って行列が配列の先頭ポインター(double *array)を渡すだけでc++とやりとりができる。そのためc++との連携
ここではLL魂2007デモコードで用いたPythonからC++で書かれた関数を呼び出す方法について説明します. 今回は大量の数値演算をするためC++側でSSE2を使うことにしました. そのためには大前提としてメモリ上に連続して並んだデータが必要になります. Pythonのリストはそのような用途には向かないため,arrayを使います. 今回は浮動小数を使うのでdoubleの'd'を利用することにしました.精度を落としてよければfloatにして速度を稼ぐこともありです. vx = array.array('d', [0.0] * N) 次にC++(boost::python)からこのarrayにアクセスするためには,生のポインタ情報が必要になります. それにはbuffer_info()を使います.マニュアルにはこのAPIは後方互換性のために残されているので使わない方よいと書かれていますが,便利
Synopsis Boost.Python へようこそ。 これは C++ と Python プログラミング言語との、シームレスな相互運用を可能にする C++ ライブラリである。 新しいバージョンは、より便利で柔軟なインターフェースを持っており、 下記の実装を含む多くの新しい機能を持たせるため、根本から書き換えられた。 参照とポインタ 大域的に登録される型の強制 Automatic Cross-Module Type Conversions 効率的な関数オーバーロード C++ 例外の Python への変換 デフォルト引数 キーワード引数 C++ の中での Python オブジェクト操作 Python イテレータとしてあつかわれる C++ イテレータのエクスポート Documentation Strings The development of these features was fund
ネットを ぼ〜っと回っていると、↓こんなのを見つけた。 Embedding Python in Your C Programs | Linux Journal http://www.linuxjournal.com/article/8497 そういや、似たようなのを公式ドキュメントでも見たなぁ、と思い出す。あった、あった。 Python インタプリタの拡張と埋め込み http://www.python.jp/doc/nightly/ext/ext.html 5.1 高水準の埋め込み http://www.python.jp/doc/nightly/ext/high-level-embedding.html Python/C API リファレンスマニュアル http://www.python.jp/doc/release/api/api.html 2. 超高レベルレイヤ http://www
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く