강좌,팁

[팁:10] CVI로 DLL 만들기(요약)

조회 수 18806 추천 수 0 2005.02.22 23:54:43
허창원 *.19.44.246

[팁]

2003년 4월 23일


DLL 만들기

허창원(hilite@chol.com)

1. 수식어 붙이기

라이브러리로 구성할 함수의 선언과 정의가 있는 .h 와 .c 파일에서 함수의 반환형 바로 뒤에 __stdcall 이나 DLLEXPORT 라는 수식어를 붙입니다.


.h 파일--------------------


int __stdcall A(void);

혹은

int DLLEXPORT A(void);


.c 파일--------------------


int __stdcall A(void)

{

       ...

}

혹은

int DLLEXPORT A(void)

{

       ...

}



2. DllMain(), DllEntryPoint() 추가

함수의 정의가 있는 .c Editor 창에서 Edit-Insert Construct-DLLMain을 선택해서 DllMain(), DllEntryPoint() 함수를 첨가합니다.


3. Target Type 지정

Project 창에서 Build-Target Type-Dynamic Link Library를 선택합니다.


4. Exports what 설정

Project 창의 Build-Target Settings-Exports-Export What: Include File Symbols에서 .h 헤더파일을 체크합니다.


5. Export 하고자하는 전역변수가 있을 때는

.c 파일에 전역변수를 정의하고, .h 헤더파일에 다음과 같은 문장을 넣어 둡니다.

Export하고자 하는 전역변수는 KD_STRUCT 구조체의 변수인 kd_struct라고 가정합니다.


KD_STRUCT.c파일---------------------------


#define KD_STRUCT_C           /// KD_STRUCT.h를 include하기 전에 선언해주어야함.

#include "KD_STRUCT.h"


#include <cvirte.h>


KD_STRUCT DLLEXPORT kd_struct;


KD_STRUCT.h파일---------------------------


#include <cvidef.h>


#ifndef KD_STRUCT_C

extern KD_STRUCT DLLIMPORT kd_struct;

#endif


참고로, DLLIMPORT나 DLLEXPORT는 cvidef.h에 선언되어 있습니다.



허창원

2005.02.22 23:58:52
*.19.44.246

예전에 만들어둔 출력용 문서입니다. pdf 파일을 다운받아 프린트하시면 편리할 겁니다.
전에는 이런식으로 문서를 만들었었는데, 요즘은 이 사이트 게시판에 그대로 작성하죠!

강좌 17을 한번 따라해보시면, 이 요약문서만으로도 이용하실 수 있을겁니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수
76 [팁:12] Windows 98용 프로그램은 CVI 6 이하에서 Build할 것 file [3] 허창원 2005-07-16 23860
75 [팁:11] Radio Group을 사용하기 위한 과정 file 허창원 2005-07-14 15135
74 [계획] CVI 강좌를 좀더 체계화하기 위해... 메모함 허창원 2005-05-19 14829
73 [강좌:28] 나만의 대화상자를 라이브러리(Static,DLL)로 만들기(2) 허창원 2005-03-12 14092
72 [강좌:28] 나만의 대화상자를 라이브러리(Static,DLL)로 만들기(1) file 허창원 2005-03-12 15672
71 [강좌:27] 내 입맛에 맞는 대화 상자 만들기 file 허창원 2005-03-11 14255
70 자동 파일 생성 코드 [1] 허만회 2005-03-03 12825
» [팁:10] CVI로 DLL 만들기(요약) file [1] 허창원 2005-02-22 18806
68 [강좌:26] 간단한 RS-232 통신예(NI-VISA 함수 이용) 허창원 2005-02-05 75990
67 [강좌:25] 간단한 RS-232 통신예(RS-232용 함수 이용) [2] [2] 허창원 2005-02-05 28648
66 [팁:9] 프로그램 내에서 메뉴 만드는 과정 요약 file 허창원 2005-01-22 12178
65 [팁:8] UIR 파일을 실행파일에 포함하는 방법 file [2] 허창원 2005-01-22 19244
64 [강좌:24] 수치를 String 컨트롤에 출력 file 허창원 2004-12-01 12665
63 [강좌:23] Noisy 신호를 Filtering 하기(2) 허창원 2004-07-23 12823
62 [강좌:23] Noisy 신호를 Filtering 하기(1) file 허창원 2004-07-23 15829
61 [강좌:22] 드래그 앤 드롭 이용하기 [1] 허창원 2004-07-06 13122
60 [강좌:21] CVI프로그래밍 시작단계 정의(3) [1] 허창원 2004-07-06 12008
59 [강좌:21] CVI프로그래밍 시작단계 정의(2) 허창원 2004-07-06 12820
58 [강좌:21] CVI프로그래밍 시작단계 정의(1) 허창원 2004-07-06 13148
57 [팁:7] 작업화면 스타일 선택하기 [1] 허창원 2004-07-05 14910