2009-03-14 2 views
7

정규 글로벌 기능을 가진 파이썬 모듈이 있습니다. C DLL로만 호출 할 수있는 다른 비즈니스 도메인 스크립팅 환경에서 호출해야합니다. 어쨌든 내 파이썬 모듈을 빌드하여 다른 코드에서 DLL에서 내 보낸 표준 C 함수처럼 호출 할 수 있습니까? 이것은 Windows 환경을위한 것입니다. IronPython에 대해서는 알고 있지만 C DLL 함수로 호출 할 수없는 .NET 어셈블리 만 빌드 할 수 있다는 것을 알고 있습니다.Python 모듈에서 C와 유사한 DLL을 빌드하는 방법이 있습니까?

답변

6

this 코드 페이지 기사를 살펴보십시오. 한 가지 방법은 C DLL에서 파이썬 함수를 랩핑하여 피 호출자에게 노출시키는 것입니다.

COM은이 문제를 해결할 수있는 바이너리 프로토콜입니다. 하지만 당신은 COM 래퍼에서이 python dll을 포장해야 할 것입니다. 그리고 호출 측에도 코드를 추가하십시오.

2

py2exe에 파이썬 코드에서 컴파일하고 파이썬 코드 + 인터프리터를 내장하여 COM DLL을 생성 할 수 있습니다. AFAIK는 일반 DLL을 아직 지원하지 않습니다. 이를 위해서는 python을 직접 임베딩하는 방법에 대한 dirkgently의 답변을 참조하십시오.

관련 문제