2013-01-31 2 views
0

헤더 파일에서 파이썬 코드의 데이터 형식으로 정의 된 C 구조체 foo는 어떻게 사용합니까? C 헤더에 정의 된 구조체를 파이썬 데이터 형식으로 사용

( This document이 문제를 해결하지 않는 것 같습니다.)

typedef struct { 

    PyObject_HEAD 

    /* Type-specific fields go here. */ 

    struct api_query query; /* instead of PyObject * type here */ 

} api_Request; 
+1

귀하의 목표는 무엇입니까? C 구조로 무엇을 할 계획입니까? 일부 공유 라이브러리 함수 호출에 전달하고 그 내용에 액세스합니까? – isedev

+0

structs (request)를 전달하고 서버가 필요한 결과를 줄 수 있도록 소켓에 응답 (다른 구조체)을 얻는다. – qwrty

+0

실제로 연결된 문서가 맞다. 주의 깊게 읽으십시오. 그것은 당신의 질문에 답해줍니다. –

답변

0

확장 모듈은 간단한 작업 (당신이 상세하게 작업을 수행하는 방법을 설명 않습니다에 링크 된 문서)하지 구축. 그런 식으로 C 구조를 감싸기 위해서는 새로운 타입과 Python의 객체 메소드 (생성자, 소멸자, 접근 메소드 등)를 정의해야합니다.

ctypes 패키지를 사용하면 쉽게 알 수 있습니다.

구조체를 만든 다음 소켓으로 보내면 구조가 간단하면 struct.pack 함수가 가장 쉽다는 것을 알면됩니다.