ホームに戻る
 DLLの使用(その2)

/*
*   printdll.h
*/

#define EXPORT extern "C"
#define CALLBACK __stdcall // or __cdecl

EXPORT void CALLBACK printdll(char *s);
EXPORT void CALLBACK printcount(void);

/*
*  DLL作成用
*  dllにprintdll関数を含ませる
*  bcc32 -WD printdll.cpp
*/

#include <windows.h>
#include <stdio.h>
#include "printdll.h"

int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved) 
{ 
  return TRUE; 
} 

EXPORT void CALLBACK printdll(char *s)
{ 
  printf("%s\n", s);
}

/*
*  DLLを使ってみる
*  printdll.dllよりprintdll関数を使用する
*  implib printdll.lib printdll.dll でlib作成
*  bcc32 print.cpp printdll.lib
*/

#include <stdio.h>
#include "printdll.h"

#pragma comment(lib, "printdll.lib")

int main()
{ 
  printf("print_test\n");
  printdll("printdll_test\n"); //printdll.dllが無いと実行できない
  printcount(); //printdll.dllが無いと実行できない
  return 0;
} 

inserted by FC2 system