方法一:
sample.h
#ifdef SAMPLEDLL_EXPORT
#define DLL_API extern “C” __declspec(dllexport)
#else
#define DLL_API extern “C” __declspec(dllimport)
#endif
DLL_API int __stdcall add(int a, int b);
DLL_API int __stdcall sub(int a, int b);
sample.cpp
#define SIMPLEDLL_EXPORT
#include “sample.h”
int __stdcall add(int a, int b)
{
return a + b;
}
int __stdcall sub(int a, int b)
{
return a - b;
}
静态(隐式)调用
dlltest.cpp
#include"sample.h"
#pragram comment(lib, “sample.lib”)
void main()
{
int a, b;
a = add(10, 8);
b = sub(10, 8);
}
动态(显式)调用
typedef int(__stdcall *pADD)(int a, int b);
typedef int(__stdcall *pSUB)(int a, int b);
HINSTANCE hDll = LoadLibrary(“sample.dll”);
if (hDll == NULL)
{
AfxMessageBox(“error”)