2014-06-24 1 views
2

내가 임베디드 파이썬 인터프리터를 구현하고 파이썬 발신자에 대한 참조를 가져 오는 방법 파이썬 스크립트에서 내 자신의 내부 C 함수를 호출하십시오.<a href="https://docs.python.org/3/extending/embedding.html" rel="nofollow">https://docs.python.org/3/extending/embedding.html</a></p> <p>은 사용자가 할 수 있도록 나를 쉽게 내 C 프로그램에 내 자신의 API를 만들 수있는 방법이 다음은 C API 함수

이 모든 것이 제대로 작동하지만 어떤 스크립트에서 함수가 호출되었는지 알 수 있기를 원합니다. 모든 기능은 매뉴얼에 따라 이러한 매개 변수가 있어야합니다

static PyObject *SomeApiFunction(PyObject *self, PyObject *args) 

하지만 매뉴얼은 내가 그 자체가 아마 잘못이 함수를 호출 모듈에 대한 참조입니다 가정 self 그렇게 무엇인지 설명하지 않습니다. 자체에 PyModule_GetName을 호출하려고 시도했으며 초기화 중에 설정 한 내 응용 프로그램의 내부 이름을 반환했습니다 (PyModule_Create 사용).

내 C 함수라는 모듈을 인식하는 방법이 있습니까?

답변

0

파이썬에서이 일을한다면, 당신은 다음과 같은 라인을 사용할 수 있습니다

module_path = sys._getframe(1).f_code.co_filename 

당신은 C API의 비슷한을 할 수 있습니다,하지만 난 그것으로 일한 적이있다.

관련 문제