I는 C의 코드를 가지고콜백 함수
typedef result function_callback(struct mes_t* message, void* data)
struct mes_t
{
uint32_t field1
uint32_t field2
void* data
};
function_one(&function_callback, data)
응용 프로그램이 호출하는 사용자 정의 콜백 함수 function_callback합니다 ( function_one에서). field1, field2 및 데이터 매개 변수 (데이터는 일반적으로 0과 같습니다)에 전달 된 콜백 함수에서이 예제의 파이썬 코드가 올바르게 작성되었는지 여부를 나타냅니다.
class mes_t(ctypes.Structure):
pass
mes_t._fields_ = [
('field1', ctypes.c_uint32),
('dfield2', ctypes.c_uint32),
('data', ctypes.POINTER(ctypes.c_void_p))]
data_t=ctypes.c_void_p
data=data_t()
CALLBACK=CFUNCTYPE(ccg_msg, data_t)
cb_func=CALLBACK()
result = function_one(ctypes.byref(cb_func), ctypes.byref(data))
샘플 코드를 수정하는 데 도움이 될 수 있습니다. C 선언문은 유효하지 않습니다 (여러분은 세미콜론이 누락되어 잘못된 순서로 물건을 놓고있는 것 같습니다) 그리고'ccg_msg'가 무엇인지는 명확하지 않습니다. –