other:vs c++ 动态库、静态库的创建与调用
vs c++ 动态库、静态库的创建与调用
生成动态库、静态库
一、 DLL项目的创建
1.创建项目:
菜单“文件"--->新建--->项目
项目类型:win32控制台应用程序
Win32应用程序向导--->应用程序类型:DLL--->附加选项:空项目--->完成
二、添加类
1.添加头文件:test.h
namespace myLib
{
class myDll
{
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);
};
}
请注意此代码方法声明中的 __declspec(dllexport) 修饰符。 这些修饰符使 DLL 能够导出该方法以供其他应用程序使用
2.添加源文件:test.cpp
#include "testdll.h"
namespace myLib
{
double myDll::Add(double a,double b)
{
return a+b;
}
double myDll::Subtract(double a, double b)
{
return a-b;
}
}
3.确认此项目配置类型为生成DLL
菜单“项目”--->“XXX项目属性”--->配置属性--->常规--->配置类型:选择“动态库dll”
三、生成
1.菜单“生成”--->生成解决方案
2.查看生成结果
注:若需生成静态库,在配置项目属性为静态属性lib
菜单“项目”--->“XXX项目属性”--->配置属性--->常规--->配置类型:选择“静态库lib”
使用动态库、静态库
一、新建项目
二、动态库环境的配置
1. 包含头文件目录
菜单“项目”--->项目属性--->配置属性--->vc++目录--->包含目录:添加上一步骤test.h文件所在目录
2.包含库文件目录
菜单“项目”--->项目属性--->配置属性--->vc++目录--->库目录:添加上一步骤生成的dll文件所在目录
3.1若为动态库,需引用动态库文件dll
菜单“项目”--->项目属性--->通用属性--->添加新引用--->添加上一步骤生成的dll文件
3.2若为静态库,需包含静态库文件lib
菜单“项目”à项目属性à配置属性à链接器à输入à附加依赖项:添加上一步骤生成的lib文件
或
在项目中添加代码:#pragma comment ( lib , ”XX.dll” )
三、使用库文件
#include "testdll.h"
#include <iostream>
using namespace std;
using namespace myLib;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<myDll::Add(3.3,6.6)<<endl; cout<<myDll::Subtract(3,2.1)<<endl;
return 0;
}