Встраивание Python в C - импортные модули

У меня проблемы с использованием встроенного Python для C в соответствии с документацией - всякий раз, когда я пытаюсь использовать импортные модули, я получаю:

Необработанное исключение в 0x1e089e85 в Pythonincl.exe: 0xc0000005: Доступ к нарушению чтения Местоположение 0x00000004.

Ошибка происходит в способе pyobject_getattrstring () , и документация не очень помогает. Я также попробовал использовать учебники как в примере из IBM, но всегда получаю то же самое нарушение доступа.

Ниже приведен пример код из одного из учебных пособий, которых я не могу работать, что здесь не так?

C-код (в одном основном файле):

#include 
int main()
{
    PyObject *strret, *mymod, *strfunc, *strargs;
    char *cstrret;
    Py_Initialize();
    mymod = PyImport_ImportModule("reverse");
    strfunc = PyObject_GetAttrString(mymod, "rstring");
    strargs = Py_BuildValue("(s)", "Hello World");
    strret = PyEval_CallObject(strfunc, strargs);
    PyArg_Parse(strret, "s", &cstrret);
    printf("Reversed string: %s\n", cstrret);
    Py_Finalize();
    return 0;
}

код Python (в Файл под названием Revers.py, та же папка):

def rstring(s):
    i = len(s)-1
    t = ''
    while(i > -1):
        t += s[i]
        i -= 1
    return t

Я использую машину XP с помощью MSVS2008, Python 2.7

немного контекста: я пытаюсь встроить небольшой сценарий Python, который использует OpenOPC, в довольно Большая C-программа и хотела бы передать данные между двумя. Однако я уже терпит неудачу при подтверждении концептуального теста с основными примерами.

7
задан Amro 19 August 2012 в 08:39
поделиться