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環境が正しくインストールおよび設定されていることを確認する必要があります。

bannerAds