python의 ctype 모듈을 이용해서 visual c++로 작성한 동적 dll을 읽는 sample 코드 입니다.
소스 코드 설명
/vc/test_dll: 동적 dll 코드 입니다.
- SET_VALUE: int 형 값을 저장합니다.
- GET_VALUE: 저장한 int형 값을 읽어 옵니다.
- SET_CALLBACK: 함수 포인터를 저장합니다. python으로 코딩한 함수를 넘길 것 입니다.
- RUN_CALLBACK: 저장한 함수 포인터에 정수형 값을 넘겨 실행 합니다. 실행하면 python함수가 실행될 것 입니다.
- SET_CLASS_CALLBACK: c++ class를 사용해서 함수 포인터를 저정합니다.
- RUN_CLASS_CALLBACK: c++ class를 사용해서 저장한 함수 포인터를 실행합니다.
- SET_THREAD_CALLBACK: 함수 포인터를 저장하고, thread 에서 1초 후 함수를 실행합니다.
- INIT_CLASS: c++ class를 동적으로 생성합니다.
- SET_D_CLASS_CALLBACK: 동적으로 생성한 class를 사용해서 함수 포인터를 저장합니다.
- RUN_D_CLASS_CALLBACK: 동적으로 생성한 class를 사용해서 함수 포인터를 실행합니다.
/vc/call_dll: test_dll을 LoadLibrary() 해서 순서대로 테스트 하는 c++ 코드 입니다.(test_dll.dll 파일의 경로는 맞게 수정해야 동작합니다)
- /python: 동적 dll 읽어 순서대로 테스트 하는 python 코드 입니다.(test_dll.dll 파일의 경로는 맞게 수정해야 동작합니다)
반응형