進出口試圖從C代碼調用Python函數,以及i從跟隨herePython嵌入
一個樣本I也具有正確的包括文件directries,圖書館directries,和鏈接的python32.lib(使用python 32 IM)但錯誤的是,蟒蛇/ C API,如PyString_FromString,PyInt_FromLong,PyInt_AsLong是不確定的(在調試程序錯誤)
這很奇怪,因爲IM也使用其他的API,但他們都很好...
這裏有什麼問題?
int
main(int argc, char *argv[])
{
PyObject *pName, *pModule, *pDict, *pFunc;
PyObject *pArgs, *pValue;
int i;
if (argc < 3) {
fprintf(stderr,"Usage: call pythonfile funcname [args]\n");
return 1;
}
Py_Initialize();
pName = PyString_FromString(argv[1]);
/* Error checking of pName left out */
pModule = PyImport_Import(pName);
Py_DECREF(pName);
if (pModule != NULL) {
pDict = PyModule_GetDict(pModule);
/* pDict is a borrowed reference */
Py_Initialize(),PyImport_Import(),PyModule_GetDict()所有工作正常,但不是PyString_FromString ...
我真的覺得功能PyString_FromString更名爲PyBytes_FromString到Python 3.x的 – Tarantula