C++からPythonを呼び出す方法:徹底解説とサンプルコード
C++でPythonのメソッドを呼び出すには、通常PythonのC APIを使用する必要があります。以下は簡単なサンプルコードです:
#include <Python.h>
int main() {
Py_Initialize();
PyObject *pModule = PyImport_ImportModule("your_python_module_name");
if (pModule) {
PyObject *pFunc = PyObject_GetAttrString(pModule, "your_python_method_name");
if (pFunc && PyCallable_Check(pFunc)) {
PyObject *pArgs = PyTuple_New(0);
PyObject *pValue = PyObject_CallObject(pFunc, pArgs);
// 处理返回值
if (pValue) {
// do something with pValue
Py_DECREF(pValue);
} else {
PyErr_Print();
}
Py_DECREF(pArgs);
Py_DECREF(pFunc);
} else {
PyErr_Print();
}
Py_DECREF(pModule);
} else {
PyErr_Print();
}
Py_Finalize();
return 0;
}
この例では、まずPythonインタプリタを初期化し、指定されたPythonモジュールをインポートしてその中のメソッドを取得します。次に、メソッドに必要なパラメータを作成し(必要な場合)、メソッドを呼び出して返り値を処理します。最後に、リソースをクリーンアップしてPythonインタプリタを閉じます。Python環境が正しくインストールおよび設定されていることを確認する必要があります。