ctypes를 사용하여 Python에서 add_two_U 함수를 호출하려고합니다. 함수 add_two_U는 같은 C++ 헤더 파일에 정의되어입력 매개 변수없이 ctypes를 사용하여 함수를 호출하는 방법은 무엇입니까?
구조의 ExternalInputs_add_two은 다음과 같이 헤더 파일에 정의되어extern ExternalInputs_add_two add_two_U;
:
typedef struct {
int32_T Input; /* '<Root>/Input' */
int32_T Input1; /* '<Root>/Input1' */
} ExternalInputs_add_two;
내가 아래에있는 내 파이썬 코드에서 호출 함수 add_two_initialize가 정의
extern void add_two_initialize(boolean_T firstTime);
내 파이썬 코드 :
0,123,552 같은 헤더 파일변수 U_Model을 통해 파이썬 코드에서 add_two_U 함수를 호출하려고합니다. 헤더 파일에서이 함수에는 입력 매개 변수가없고 헤더 파일의 구조를 사용하여 입력 데이터를 가져옵니다.
I가 다음 두 질문 :
가 어떻게이
add_two_U
함수에 데이터를 전달하기 위해 내 파이썬 코드의 구조 ExternalInputs_add_two 구조를 설정합니까?add_two_U
을 사용하여 dll 함수를 호출하는 방법은 무엇입니까?U_Model
을 파이썬 코드로 참조합니까?WindowsError: exception: access violation reading 0xFFFFFFFF
내가 온라인 답변을 검색 한과를 찾을 수 없습니다 : 나는 다음과 같은 오류가
result = U_Model()
: 나는 함수를 호출하는 파이썬 문을 사용하는 경우 헤더 파일에서 구조체를 초기화하고 매개 변수없이 함수를 호출하는 예제.
이 함수에는 입력 매개 변수가 있으므로 python 코드에서 add_two_initialize 함수를 initateModel에서 오류없이 호출 할 수 있습니다.
@ 스콧 나는이 질문이 당신의 대답 인 것으로 보이는 다른 질문을 본다.이 답 옆에있는 체크를 클릭하면 녹색으로 변합니다. 모든 세부 사항에 대해서는 FAQ를 읽으십시오. –