블로그 이미지
초보 용사 꼬마라크. 그림은 만렙 용사 아랑소드 -네이버웹툰 아스란영웅전 발췌
꼬마라크

Notice

Archive

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
  • total
  • today
  • yesterday

'dll'에 해당되는 글 1건

  1. 2007.12.14 [링크]DLL
2007. 12. 14. 22:09 Programmer/기초

http://www.winapi.co.kr/ApiBoard/tbltip/How%20DLL%20Works.pdf

간단한 설명!

명쾌하다.

위의 링크의 내용을 간추리면.. 아래로...

-----------------------
dlltest.c

__declspec(dllexport) char *str = "THE TRUTH IS OUT THERE";

__declspec(dllexport) int add(int a, int b)
{
 return a + b;
}

// c에선 extern "C" 하면 왠지 안된다.. (원인은 해석하기 귀찮아서 pass, 할필요가 ㅇ벗는데 써서 에러내는건가?)
// cpp에서 만든걸 c에서 쓰게 하려면 extern "C"꼭 필요하다...

빌드하면 dlltest.dll이 되것지?


// implicit 한 방법. (explicit는 링크의 문서를 읽어보시라)
// main program에서는 dll과 함께 생성되는 lib파일과 헤더 선언이 필요하다.
test.h

extern "C" __declspec(dllimport) char *str;

extern "C" __declspec(dllimport) int add(int a, int b);

// C가 만든 외부 dll에 함수와 변수가 있도다.


test.cpp(c)

#include "test.h"    // 요렇게 extern 선언 필요
#pragma comment(lib, "dlltest.lib")


int main()
{
    printf("%s\n",str);
    printf("%d + %d = %d\n",1,2,add(1,2));
}

결과
THE TRUTH IS OUT THERE
1 + 2 = 3
press any key.


'Programmer > 기초' 카테고리의 다른 글

little endian과 big endian  (0) 2007.12.14
infinite number의 정의  (0) 2007.12.14
posted by 꼬마라크