언어/PYTHON
[PYTHON] python에서 c를 사용하게 해주는 ctypes 모듈
JJANG-JOON
2023. 8. 17. 10:20
반응형
ctypes 이란?
ctypes는 외부 C 라이브러리 함수를 Python에서 호출할 수 있도록 도와주는 모듈이다.
C 데이터 타입을 Python 데이터 타입과 호환시켜주며, 다양한 플랫폼에서 동작하는데 사용된다.
이는 Python과 C 사이의 상호 운용성을 제공하여 Python에서 C의 강력한 기능을 활용할 수 있게 한다.
ctypes는 C 라이브러리 함수의 함수 원형을 정의하고 호출할 수 있는 기능을 제공하며 C 함수의 매개변수와 반환값은 C 데이터 타입을 사용하며, ctypes를 통해 Python 데이터 타입으로 변환된다. 이렇게 변환된 데이터는 C 함수에 전달되어 C 라이브러리와 상호 작용할 수 있게 된다.
- ctypes 데이터 타입: ctypes는 C 데이터 타입을 Python 데이터 타입과 연결하여 호환성을 제공한다.
- Callback 함수: Python 함수를 C 함수처럼 호출하기 위해 사용되며, C 함수에 대한 포인터를 전달하는 역할을 한다.
코드 예시
import ctypes
# Load the shared library
lib = ctypes.CDLL("mylib.so")
# Call a function from the library
result = lib.add(5, 3)
print("Result:", result)
위의 코드는 ctypes를 사용하여 C 라이브러리 함수를 호출하는 간단한 예시이다.
mylib.so 라이브러리에서 add 함수를 호출하고 결과를 출력한다.

반응형