1、編寫非MFC的DLL庫
(1) VC6.0下建立Win32 Dynalmic-Link Library工程mydll。
(2)工程下創建一個mydll.h頭文件和mydll.cpp實現文件。
mydll.h頭文件如下:
#ifndef MYDLL_H
#define MYDLL_H
#ifdef DLL
#define EXTERN extern "C" _declspec(dllexport)
#else
#define EXTERN extern "C" _declspec(dllimport)
#endif
EXTERN int myadd(int, int);
#endif
mydll.cpp實現文件如下:
#define DLL
#include "mydll.h"
int myadd(int a, int b)
{
return a+b;
}
(3)編譯生成DLL動態庫mydll.dll
2、創建一個調用DLL庫的應用程序testapp
(1)在VC6.0下建立Win32 Console Application工程,在下一步選擇簡單應用程序。
(2)修改testapp.cpp文件,實現調用mydll.dll動態庫中的函數myadd。實現如下:
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
typedef int (*padd)(int, int);
int main(int argc, char* argv[])
{
HINSTANCE handle = ::LoadLibrary("../../mydll/debug/mydll.dll");//mydll.dll動態庫路徑
if(handle != NULL)
{
padd pf = (padd)GetProcAddress(handle,"myadd");
if(pf != NULL)
{
printf("dll myadd(3,2) = %d", pf(3,2));
}
::FreeLibrary(handle);
}
return 0;
}
(3)編譯生成exe應用程序testapp.exe。
(4)運行testapp.exe,結果如下:
dll myadd(3,2) = 5