리눅스에서 네이티브 라이브러리에 래퍼를 쓰려고합니다. C에서파이썬 ctypes 네이티브 라이브러리 매개 변수로 구조체에 대한 포인터를 보내고
가정의 : 파이썬
int mymethod(mystruct* ptr)
:
_lib.mymethod.argtypes = (ctypes.POINTER(mystruct),)
_lib.mymethod.restype = ctypes.c_int
s = mystruct()
_lib.mymethod(ctypes.byref(s))
레이즈 문제점이있다 : 대신 LP_mystruct
오류의
_lib.mymethod(ctypes.pointer(s))
이 예상 던질 수 LP_mystruct 인스턴스를 MYSTRUCT 대신 포인터의 예를 LP_mystruct 예상했다. 네이티브 메소드에 대한 포인터로서 구조체를 전달하는 방법은 무엇입니까?
감사합니다.
벼
감사합니다. 내가 말한 두 번째 방법을 사용했는데 문제없이 작동합니다. – mete
여기에 비슷한 - https://codexample.org/questions/238108/python-ctypes-sending-pointer-to-structure-as-parameter-to-native-library.c –
ctypes에서 상위 수준의 POINTER 유형은 어느 것입니까 ? –