나는 파이썬 코드가 내장 된 C 프로그램을 가지고있다. 파이썬 2.7.2를 소스에서 컴파일하고 내 프로그램을 libpython2.7.a와 연결했습니다.ctype을 사용하여 C에 포함 된 Python에서 C 함수를 콜백 할 수 있습니까?
이제 내 파이썬 코드에서 다른 C 라이브러리의 함수를 내 C 프로그램에 링크하고 싶습니다. 파이썬 확장을 작성할 수 있습니다 (this document에 임베디드 파이썬 확장 참조). 그러나 ctypes을 사용하면 훨씬 쉽게 처리 할 수 있으며 기존 코드를 사용하지 않아도됩니다.
ctypes은 공유 라이브러리를로드하는 데 도움이되며 내 정적 프로그램 코드로 되돌릴 수있는 방법이 있는지 궁금합니다.
대상이 iOS이고 AFAIK 공유 라이브러리가 Apple에서 금지되어 있으므로 관련 코드를 공유 라이브러리로 컴파일 할 수 없습니다. 파이썬 코드에서
_ctypes에서 내 (정적) libffi에 오류가 발생합니다. – Avner
@Avner : 솔직히 위의 코드를 실제로 시도하지 않았으므로 그 충돌로 인해 도움을받을 수 없습니다. –
코드가 올바르게 보입니다 (이것이 내 대답을 받아 들인 이유입니다). 문제는 iOS에 libffi를 이식하는 것과 libpython.a (정적 모듈, 정적 _ctypes 및 정적 libffi)를 컴파일하는 방법과 관련된 것입니다. 그러나 나는이 충돌을 아직 풀지 않았으므로, 이것은 현재 의심의 여지가있다. – Avner