1.创建动态库:VC2008--file--new--project--win32console application--next--DLL,empty project
创建头文件dll.h
#pragma once; //#ifndef *** #define
#ifdef DLL_IMPLEMENT
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
class DLL_API SimpleDll
{
public:
SimpleDll();
~SimpleDll();
int add(int x, int y);
};
DLL_API int add(int ,int );
DLL_API extern int value;
创建dll.cpp
#define DLL_IMPLEMENT
#include "dll.h"
SimpleDll::SimpleDll()
{
}
SimpleDll::~SimpleDll()
{
}
int SimpleDll::add(int x, int y)
{
return x+y;
}
int add(int a,int b){
return a+b;
}
int value=3;
编译,在Debug里得到dll.dll,dll.lib
2.创建工程使用动态库:VC2008--file--new--project--win32console application--next--console application,empty project
创建头文件useDll.cpp
#include "a.h"
#include <iostream>
using namespace std;
//#pragma comment(lib, "../lib/dll.lib")
int main(char argc, char**argv)
{
SimpleDll dll;
printf("%d,%d",dll.add(3,4),value);
getchar();
return 0;
}
把动态库的头文件dll.h及动态库生成的dll.lib复制粘贴到useDll.cpp所在目录,把dll.dll放到Debug(useDll.exe所在目录)里,右击项目useDll--properties--linker--input--additional dependencies输入dll.lib。如果dll.lib没有放在useDll.cpp所在目录,还要在linker--general--additonal library directories选中dll.lib的目录。