1.11 C++での拡張モジュール作成

C++でも拡張モジュールは作成できます。ただしいくつか制限があります。 メインプログラム (Python インタプリタ) は C コンパイラでコンパイルされ リンクされているので、グローバル変数や静的オブジェクトをコンストラクタ で作成できません。メインプログラムが C++ コンパイラでリンクされて いるならこれは問題ではありません。 Python インタプリタから呼び出される関数 (特にモジュール初期化関数) は、extern "C" を使って宣言しなければなりません。 また、Python ヘッダファイルをextern "C" {...} に入れる必要 はありません-- シンボル"__cplusplus" (最近の C++ コンパイラは 全てこのシンボルを定義しています) が定義されているときに extern "C" {...} が行われるように、ヘッダファイル内に すでに書かれているからです。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。