2011-07-01 2 views
3

는 그냥 "꿀꺽 꿀꺽 파이썬"튜토리얼의 다음 섹션을 읽어 http://www.swig.org/Doc1.1/HTML/Python.html#n11함수가 비 단순한 인수를 취할 때 SWIG를 통한 Python의 C++ 콜백?

나는 기본적으로 파이썬을 호출하는 C 함수를 작성, 그들은 예에서 무엇을 이해합니다. 그러나 제공된 예제는 인수 목록에서 두 번만 사용되므로 파이썬에 대한 인수 목록을 작성하는 것이 쉽지 않습니다.

나는 다음과 같은 서명이 ++ 콜백는 C를 :

Vector (*CALLBACK)(Simulation*, Vector, Vector, double, void*) 
벡터 및 시뮬레이션 내 자신의 클래스이며,

무효 * (예에서 사용 된) clientData는

을 PyObject 일을 들고입니다

SWIG는 Vector와 Simulation 클래스를 모두 파이썬 쉘로 만들 수 있기 때문에 래핑한다는 것을 알고 있습니다. 유일한 문제는 콜백 함수에서 Vector 인수를 파이썬 인수 목록에 적합한 PyObject로 변환하는 방법을 모른다는 것입니다. SWIG는 분명히 클래스 자체를 래핑 할 때이 작업을 수행 할 수있는 방법이 있지만 함수에서 수동으로 수행하는 방법을 모르겠습니다.

많은 도움을 주셨습니다. - 사례

답변

관련 문제