2010-07-14 2 views
0

이 경우에는 파이썬 용 DLL 파일의 랩을 작성하고 싶습니다. 문제는 인수 유형이 C 표준 인수 유형이 아니라는 것입니다. 그들은 다른 무엇인가 typedef'end되었습니다.dll wrapper에 대한 typedef 해결

DLL 파일에 대한 헤더 파일이 있습니다 ... 그래서 수동으로 인수의 유형이 typedef'ined 인 원래 표준 C 유형을 추적 할 수 있습니다. 그러나이를 위해보다 체계적인 방법을 원했습니다. 헤더 파일을 평가할 유틸리티가 있는지 또는 dll에서 유형 정의를 얻을 수 있는지 궁금합니다.

답변

0

나는 당신이 찾고있는 도구가 SWIG 생각 :

SWIG는 높은 수준의 다양한 프로그래밍 언어와 C 및 C++로 작성된 프로그램을 연결하는 소프트웨어 개발 도구입니다. SWIG는 Perl, PHP, Python, Tcl 및 Ruby와 같은 일반적인 스크립팅 언어를 비롯한 여러 유형의 언어와 함께 사용됩니다. 지원되는 언어 목록에는 C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Lua, Modula-3, OCAML, Octave 및 R과 같은 비 스크립팅 언어도 포함됩니다. 해석 및 컴파일 된 여러 Scheme 구현 Guile, MzScheme, Chicken)이 지원됩니다. SWIG는 높은 수준의 인터프리터 또는 컴파일 된 프로그래밍 환경, 사용자 인터페이스 및 C/C++ 소프트웨어 테스트 및 프로토 타입 제작 도구로 사용됩니다. SWIG는 파스 트리를 XML 및 Lisp s- 표현식으로 내보낼 수도 있습니다. SWIG는 상업적 및 비상업적 용도로 자유롭게 사용, 배포 및 수정할 수 있습니다.

이렇게하면 DLL에 헤더를 사용할 의향이 있다고 가정합니다. DLL로만 작업하려면 더 많은 작업이 필요합니다. 유형을 분석하는 데 사용할 수있는 리플렉션 인터페이스를 제공 할 수 있습니다. 그렇게하지 않으면, 당신은 고통의 세계에 빠지거나 DLL의 모든 디버깅 정보를 리버스 엔지니어링 할 수 있습니다. 모듈을 만드는 꿀꺽 꿀꺽와 ++ 설정하는 방법에 VC에

+1

일부 지침 http://realmike.org/blog/2010/07/18/python-extensions-in-cpp-using-swig/#dll 플러스 module_wrap.c 파일에서 문장을 설정합니다 #undef _DEBUG 바로 전에 #include