newtype
::: newtype의 지식창고 :::
newtype
전체 방문자
603,295
오늘
36
어제
40
  • 분류 전체보기 (387)
    • it (209)
      • c (43)
      • VB (5)
      • csharp (2)
      • etc (32)
      • devOps (6)
      • python (2)
      • go (5)
      • emb (25)
      • win (4)
      • db (20)
      • www (49)
      • sqlce (7)
      • gmap (6)
      • cygwin (2)
      • ruby (1)
    • 명언 (10)
    • 모임 (18)
      • 붕주회 (3)
      • 신흥컴정 (14)
      • 웹20기 (1)
    • 사진 (8)
    • 불펌 (29)
    • 막글 (98)
    • 게임 (6)
    • 여행 (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

  • whoami
02-01 12:21
hELLO · Designed By 정상우.
newtype

::: newtype의 지식창고 :::

it/python

python에서 ctype을 이용한 c library 연동 예제

2016. 4. 29. 22:22

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 파일의 경로는 맞게 수정해야 동작합니다)



반응형
저작자표시
    'it/python' 카테고리의 다른 글
    • C 상수 파서
    ctype, Function Point, Python
    newtype
    newtype
    지극히 개인적인 지식의 창고
    댓글쓰기
    다음 글
    C 상수 파서

    티스토리툴바