Python を C/C++ に埋め込みたい場合、必要なのは VC に Python のインクルード ファイル ディレクトリと lib ファイル ディレクトリを追加することです。 Python を C/C++ に組み込む方法を見てみましょう。
VC6.0 では、[ツール]->[オプション]->[ディレクトリ]->[ディレクトリの表示] を開き、Python インストール ディレクトリのインクルード ディレクトリをインクルード ファイル項目に追加し、libs ディレクトリをライブラリ ファイル項目に追加します。
VC2005 で、[ツール]->[オプション]->[プロジェクトとソリューション]->[VC++] ディレクトリを開き、同じ作業を行います。
コードは次のとおりです:
デバッグで実行中に「python31_d.lib ファイルが見つかりません」というエラーが発生しました。理由は後で判明しました。python31_d.lib ファイルはデバッグで生成する必要があり、そうでない場合は生成できません。 release でのみ生成されます
#include <python.h> int main() { Py_Initialize(); PyRun_SimpleString("Print 'hi, python!'"); Py_Finalize(); return 0; }
Py_Initialize 関数のプロトタイプは次のとおりです: void Py_Initialize()
この関数は、Python を C/C++ に埋め込むときに使用する必要があり、他の Python/ を使用する前に呼び出す必要があります。 C API。 Py_IsInitialized 関数を使用すると、初期化が成功したかどうかを判断し、成功した場合は True を返すことができます。
PyRun_SimpleString 関数のプロトタイプは int PyRun_SimpleString(const char *command) で、Python コードの一部を実行するために使用されます。
注: ステートメント間のインデントを維持する必要がありますか?
Py_Finalize 関数のプロトタイプは void Py_Finalize() で、これは Python インタープリターを閉じ、インタープリターによって占有されているリソースを解放するために使用されます。
PyRun_SimpleFile 関数は、「.py」スクリプト ファイルを実行するために使用できます。関数のプロトタイプは次のとおりです:
int PyRun_SimpleFile(FILE *fp, const char *filename);
ここで、fp は開いているファイル ポインターとファイル名です。実行する Python ファイル名です。ただし、この関数の正式リリースは Visual Studio 2003.NET でコンパイルされているため、他のバージョンのコンパイラを使用すると、バージョンの理由で FILE 定義がクラッシュする可能性があります。同時に、簡単にするために、次のメソッドを使用してこの関数を置き換えることができます:
PyRun_SimpleString("execfile('file.py')"); //execfile を使用して Python ファイルを実行します
Py_BuildValue() が使用されます数値と文字列の場合、Python で対応するデータ型に変換処理が行われます (C 言語では、Python の型はすべて PyObject 型として宣言されます)。関数のプロトタイプは次のとおりです:
PyObject *Py_BuildValue(const char *format, …)。 .);
PyString_String() は、PyObject* 型の変数を C 言語で処理できる char* 型に変換するために使用されます。 具体的なプロトタイプは次のとおりです。
char* PyString_String(PyObject *p);
上記Python を C/C++ に組み込む方法の紹介です。関連する内容についての紹介です。ご質問がある場合は、以下にメッセージを残してください。