將Python 方法整合到C/C 程式中並擷取回傳值
本題重點介紹在C 程式碼中呼叫自訂Python 函數並捕獲其返回值返回值。給定的範例使用 PyRun_SimpleString 來呼叫函數,但這種方法有其限制。
為了有效地將 Python 方法整合到 C 中,利用 C-API 提供的方法至關重要。這是逐步指南:
PyObject* myModuleString = PyString_FromString((char*)"mytest"); PyObject* myModule = PyImport_Import(myModuleString);
PyObject* myFunction = PyObject_GetAttrString(myModule,(char*)"myabs");
PyObject* args = PyTuple_Pack(1,PyFloat_FromDouble(2.0));
PyObject* myResult = PyObject_CallObject(myFunction, args)
double result = PyFloat_AsDouble(myResult);
請記得透過檢查 C-API 函數的回傳值來適當處理錯誤。透過執行以下步驟,您可以有效地從 C/C 呼叫 Python 方法並無縫檢索其傳回值。
以上是如何將Python方法整合到C/C中並檢索其返回值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!