파이썬 응용 프로그램에서 C 라이브러리를 호출하고 싶습니다. 전체 API를 래핑하고 싶지 않으며 내 경우와 관련된 함수 및 데이터 유형 만 래핑하고 싶습니다. 내가 볼 때 세 가지 선택이 있습니다.
- C로 실제 확장 모듈을 만드십시오. 아마도 과잉 일 것입니다. 또한 확장 쓰기 학습의 오버 헤드를 피하고 싶습니다.
- Cython 을 사용 하여 C 라이브러리에서 Python으로 관련 파트를 노출하십시오.
ctypes
외부 라이브러리와 통신하는 데 사용하여 Python에서 모든 작업 을 수행하십시오.
2) 또는 3)이 더 나은 선택인지 확실하지 않습니다. 3)의 장점은 ctypes
표준 라이브러리의 일부이며 결과 코드는 순수한 파이썬 일 것입니다.하지만 그 이점이 실제로 얼마나 큰지는 확실하지 않습니다.
어느 쪽을 선택해도 더 많은 장단점이 있습니까? 어떤 접근법을 권장합니까?
편집 : 모든 답변에 감사드립니다. 이는 비슷한 것을하려고하는 사람에게 훌륭한 자료를 제공합니다. 물론이 결정은 여전히 단일 사례에 대해 내려져야합니다. "이것이 옳은 것"인 사람은 아무도 없습니다. 내 경우에는 아마도 ctypes를 사용하지만 다른 프로젝트에서 Cython을 시험해보기를 기대합니다.
하나의 진정한 대답이 없기 때문에 하나를 받아들이는 것은 다소 임의적입니다. 나는 ctypes에 대한 좋은 통찰력을 제공하고 현재 가장 인기있는 답변이므로 FogleBird의 답변을 선택했습니다. 그러나 좋은 답변을 얻으려면 모든 답변을 읽으십시오.
다시 감사합니다.