1.、创建dll
选择Win32 Console Application,ok,next,选择DLL、Empty project、finish。
2、创建引用dll
直接创建Win32 Console Application,选择empty project即可
3、创建之后
展开之后
dll.h 代码
namespace dll
{
class dll
{
public:
// Returns a + b
static __declspec(dllexport) double Add(double a, double b);
// Returns a - b
static __declspec(dllexport) double Subtract(double a, double b);
// Returns a * b
static __declspec(dllexport) double Multiply(double a, double b);
// Returns a / b
// Throws DivideByZeroException if b is 0
static __declspec(dllexport) double Divide(double a, double b);
};
}
dll.cpp 代码
#include "dll.h"
#include <stdexcept>
using namespace std;
namespace dll
{
double dll::Add(double a, double b)
{
return a + b;
}
double dll::Subtract(double a, double b)
{
return a - b;
}
double dll::Multiply(double a, double b)
{
return a * b;
}
double dll::Divide(double a, double b)
{
if (b == 0)
{
throw new invalid_argument("b cannot be zero!");
}
return a / b;
}
}
创建之后编译即可生成dll和lib
main.cpp
#include <iostream>
#include "dll.h"
using namespace std;
int main()
{
double a = 7.4;
int b = 99;
cout << "a + b = " <<
dll::dll::Add(a, b) << endl;
cout << "a - b = " <<
dll::dll::Subtract(a, b) << endl;
cout << "a * b = " <<
dll::dll::Multiply(a, b) << endl;
cout << "a / b = " <<
dll::dll::Divide(a, b) << endl;
cin.get();
return 0;
}
将usedll设为启动项(只需要在两个地方配置属性即可)
配置属性
1、、、c/c++ ,General, Additional Include Directories 添加到路径 我们建立的dll下就可以了例如:
C:\Users\meng\Desktop\VS2010Test\CreateAndUseDLL\dll
2、、、、linker ,input ,Additional Include Directories 添加lib即可
例如:C:\Users\meng\Desktop\VS2010Test\CreateAndUseDLL\Debug\dll.lib
看到这两个路径的区别:第一个是我们建立的dll项目下即可
第二个的路径接我们创建的解决方案下的debug下存放发的我们lib库