파이썬을 사용하여 C 함수를 호출해야 하는 상황을 겪어본 적이 있나요? 이 기사는 매우 기본적인 수준에서 도움이 될 것이며, 이러한 상황을 겪지 않았다면 어떻게 해결되었는지 알게 되어 기쁠 것입니다.
먼저 C로 간단한 함수를 작성하고 이 파일의 공유 라이브러리를 생성해 보겠습니다. 파일 이름이 function.c라고 가정합니다.
int myFunction(int num) { if (num == 0) //如果number为0,则不执行任何操作。 return 0; else // 如果number是2的幂,则返回1,否则返回0 num & (num - 1) == 0 ? return 1 : return 0 }
컴파일:
cc -fPIC -shared -o libfun.so function.c
ctypes(외부 함수 인터페이스) 라이브러리를 사용하여 Python에서 C 함수를 호출합니다.
위 명령문은 libfun.so라는 공유 라이브러리를 생성합니다. 이제 파이썬에서 어떻게 사용하는지 살펴보겠습니다. Python에는 ctypes라는 라이브러리가 있습니다. 이 라이브러리를 사용하면 Python에서 C 함수를 사용할 수 있습니다.
파일 이름이 function.py라고 가정합니다.
import ctypes NUM = 16 # libfun loaded to the python file # using fun.myFunction(), # C function can be accessed # but type of argument is the problem. fun = ctype.CDLL(libfun.so) # Now whenever argument # will be passed to the function # ctypes will check it. fun.myFunction.argtypes(ctypes.c_int) # now we can call this # function using instant (fun) # returnValue is the value # return by function written in C # code returnVale = fun.myFunction(NUM)
이 글은 Python에서 C 함수를 호출하는 방법에 관한 것입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
위 내용은 Python에서 C 함수를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!