C 래퍼 없이 Python에서 DLL 파일 사용
추가 C 래퍼를 사용하지 않고도 Python 내에서 DLL 파일을 원활하게 활용할 수 있습니다. 적극 권장되고 간단한 접근 방식 중 하나는 ctypes를 사용하는 것입니다.
ctypes 소개
ctypes는 C 호환 라이브러리와의 상호 작용을 용이하게 하는 기본 Python 모듈을 제공합니다. C와 유사한 데이터 유형(예: int, char, void*)을 제공하고 값 또는 참조로 매개변수를 전달할 수 있습니다. 또한 특정 데이터 유형의 반환을 처리할 수 있습니다.
사용 예
실제 코드(Python 2.5)를 기반으로 다음 예를 고려하세요.
<code class="python">import ctypes # Load the DLL. hllDll = ctypes.WinDLL("c:\PComm\ehlapi32.dll") # Function prototype and parameters. hllApiProto = ctypes.WINFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p) hllApiParams = ((1, "p1", 0), (1, "p2", 0), (1, "p3", 0), (1, "p4", 0)) # Function mapping. hllApi = hllApiProto(("HLLAPI", hllDll), hllApiParams) # Function call. p1 = ctypes.c_int(1) p2 = ctypes.c_char_p(sessionVar) p3 = ctypes.c_int(1) p4 = ctypes.c_int(0) hllApi(ctypes.byref(p1), p2, ctypes.byref(p3), ctypes.byref(p4))</code>
이 예에서는 HLL API가 사용되며 매개변수는 HLLAPI 사양에 따라 값 또는 참조로 전달됩니다. 함수는 Python 이름(hllApi)에 매핑되고 필요한 변수와 함께 호출됩니다.
결론
ctypes를 활용하고 설명된 접근 방식을 따르면 개발자는 원활하게 상호 작용할 수 있습니다. 외부 C 코드 없이 DLL 파일을 사용합니다. 이를 통해 Python 스크립트 내에서 직접 이러한 라이브러리의 기능을 활용할 수 있습니다.
위 내용은 C 래퍼 없이 Python에서 DLL 파일을 어떻게 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!