#ifndef _LIB_H_
#define _LIB_H_
extern "C" int __declspec(dllexport) add(int a, int b);
#endif
#include "stdafx.h"
#include "Lib.h"
int add(int a, int b)
{
return a+b;
}
静态调用
// main.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "windows.h"
#pragma comment(lib, "D:\\exercise++++\\Win32DLL\\DLL\\debug\\DLL.lib")
extern "C" int __declspec(dllimport)add(int a, int b);
int _tmain(int argc, _TCHAR* argv[])
{
int c = add(3, 6);
return 0;
}
动态调用
// CALL.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "windows.h"
typedef int (*addfun)(int a, int b);
int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE hDll; //DLL 句柄
addfun addFun; //函数指针
int result;
hDll = LoadLibrary(_T("D:\\exercise++++\\Win32DLL\\DLL\\debug\\DLL.dll"));
if (hDll != NULL)
{
addFun = (addfun)GetProcAddress(hDll, "add");
result = addFun(3,5);
FreeLibrary(hDll);
}
return 0;
}