Python —— ctypes, 동적 라이브러리 호출 : pit 레코드

공식 문서 : https://docs.python.org/zh-cn/3/library/ctypes.html

ctypes는 C와 호환되는 몇 가지 기본 데이터 유형을 정의합니다.

여기에 사진 설명 삽입

구덩이 1 단계 :

sheetDeteInterface.h

// define
char* detectSheet(const char* imagePath, bool flag, const double angle=0.0);

파이썬 호출 (오류 예)

from ctypes import *
from ctypes import cdll

solib = cdll.LoadLibrary(so_path)
solib.detectSheet(c_char_p(image_path.encode('utf-8')), c_bool(flag), angle=c_double(angle))

파이썬 호출 (올바른 예)

from ctypes import *
from ctypes import cdll

solib = cdll.LoadLibrary(so_path)
solib.detectSheet(c_char_p(image_path.encode('utf-8')), c_bool(flag), c_double(angle))

함수를 호출 할 때 매개 변수를 전달하기 위해 파이썬 구문의 키워드를 사용하기 때문에 각도에 해당하는 값은 동적 라이브러리에 전달되지 않지만 프로그램은 오류를보고하지 않아서 오랫동안 검색했습니다.

따라서 동적 라이브러리 함수 호출시 python 키워드를 사용하여 매개 변수를 전달할 수 없습니다.

추천

출처blog.csdn.net/m0_38007695/article/details/112655696