- 나는 수입 모듈을 사용하려고 할 때마다 나는 내려면 :임베드 파이썬 - 수입 모듈
PythonIncl.exe에서 0x1e089e85에서처리되지 않은 예외 : 0xC0000005 : 액세스 위반 읽기 위치는 0x00000004입니다.
PyObject_GetAttrString()
메서드에서 오류가 발생하며 문서가별로 도움이되지 않습니다. 또한 IBM의 Example과 같은 자습서를 사용해 보았지만 항상 동일한 액세스 위반이 발생합니다.
다음은 내가 제대로 작동하지 않는 자습서 중 하나의 예제 코드입니다. 여기서 잘못된 점이 있습니까?
C-코드 (하나 개의 기본 파일) :
#include <Python.h>
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;
}
파이썬 코드 (라는 파일 reverse.py에서, 동일한 폴더) :
def rstring(s):
i = len(s)-1
t = ''
while(i > -1):
t += s[i]
i -= 1
return t
내가 사용하여 XP 머신을 실행하고 MSVS2008, Python 2.7
약간의 컨텍스트 : 상당히 큰 C 프로그램에서 OpenOPC를 사용하는 작은 파이썬 스크립트를 임베드하려고하고 있는데이 두 가지 사이에서 데이터를 전송하려고합니다. 그러나 나는 이미 기본 예제로 개념 증명 테스트에 실패했다.
파이썬의 몸을 들여 줘야한다는 것을 알고 있습니까? – Griwes
파이썬을 임베딩하기보다는 파이썬 확장을 작성하는 것이 거의 항상 더 좋고 강력합니다. 그렇게하는 것은 꽤 비슷해 보이지만, 확장을위한 더 나은 툴링이 있으며 필요한 경우 다른 Python 도구에 쉽게 액세스 할 수 있습니다. 확장 대 삽입에 대한 관점은 http://twistedmatrix.com/users/glyph/rant/extendit.html을 참조하십시오. –
예, 누락 된 들여 쓰기에 대해 게시 중에 분실 한 경우 IDE에 표시됩니다. – Shorkaa