>  기사  >  백엔드 개발  >  Python이 C 언어 함수를 호출하는 방법에 대한 자세한 설명

Python이 C 언어 함수를 호출하는 방법에 대한 자세한 설명

黄舟
黄舟원래의
2017-10-03 05:43:402544검색

아래 편집기는 Python이 C 언어 함수를 호출하는 방법에 대한 예를 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집기를 따라 살펴보겠습니다

파이썬은 전능하지만 일부 특수 기능을 완료하려면 C 언어가 필요합니다. 이런 방식으로 Python을 사용하여 C 코드를 호출해야 합니다.

특정 프로세스:

c는 관련 함수를 작성하고 이를 라이브러리로 컴파일합니다.

그런 다음 Python에서 이러한 라이브러리를 로드하고 호출 함수를 지정합니다.

이러한 함수는 char, int, float를 허용하고 포인터를 반환할 수도 있습니다.

다음 예:

파이썬을 통해 c 함수를 호출하고 "hello, world string"을 반환합니다.

새 C 언어 파일 hello.c


touch hello.c


#include <stdio.h>

char *get_str()
{
 return "hello,world"
}

로 컴파일합니다. library


gcc -o hello.so --share -fPIC hello.c

새 Python 스크립트 만들기


touch test.py


from ctypes import *

dll = CDLL("./hello.so")
dll.get_str.restype = c_char_p
str = dll.get_str()
print(string_at(str, 11))

Python 스크립트 실행


[feng@arch python_c]$ python test.py 
hello,world

위 내용은 Python이 C 언어 함수를 호출하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.