找北京赛车网站开发,大沥网站设计,微信企业推广,网站竞价推广都有哪些静态库的初步使用
新建 静态库 项目 Lib1 会产生 sln文件与vcproj文件#xff0c;vcproj是工程文件#xff0c;sln是解决方案文件 一个解决方案可以有多个工程 在头文件(Lib1.h)写函数声明#xff0c;在cpp文件定义函数实现 这时候右键点击项目 -生成, 会产生 Lib1.lib…静态库的初步使用
新建 静态库 项目 Lib1 会产生 sln文件与vcproj文件vcproj是工程文件sln是解决方案文件 一个解决方案可以有多个工程 在头文件(Lib1.h)写函数声明在cpp文件定义函数实现 这时候右键点击项目 -生成, 会产生 Lib1.lib 的静态库文件使用这个静态库文件 新建一个控制台项目 a)在主函数cpp文件里面 通过#include “相对路径\Lib1.h” 将函数声明引用过来 b)引用第一步生成的静态库文件 右键项目 - 属性 -配置属性 -链接器-常规-附加库目录 将第一步生成的Lib1.lib文件所在的目录添加上(可以是相对路径) 右键项目 - 属性 -配置属性 -链接器- 输入-附加依赖项 填写上静态库文件的名字 Lib1.lib这一步也可以通过代码来完成
#pragma comment(lib, Lib1.lib)这个时候就可以正常使用这个静态库提供的函数了
动态库的初步使用
用vs新建一个动态库项目 fouroperations, 会出现 dllmain.cpp这个文件内容如下
// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include stdafx.hBOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{switch (ul_reason_for_call){case DLL_PROCESS_ATTACH:case DLL_THREAD_ATTACH:case DLL_THREAD_DETACH:case DLL_PROCESS_DETACH:break;}return TRUE;
}再创建要对外提供的 头文件 与 源文件 fouroperations.h
#pragma onceclass FourOperations {
public:__declspec(dllexport) FourOperations();__declspec(dllexport) ~FourOperations(); static __declspec(dllexport) double add(double a, double b);//加法static __declspec(dllexport) double sub(double a, double b);//减法static __declspec(dllexport) double mul(double a, double b);//乘法static __declspec(dllexport) double div(double a, double b);//除法__declspec(dllexport) void print();
};fouroperations.cpp
// fouroperations.cpp : 定义 DLL 应用程序的导出函数。
//#include stdafx.h
#include fouroperations.h
#include iostream
using namespace std;FourOperations::FourOperations() {}FourOperations::~FourOperations() {}double FourOperations::add(double a, double b) {return a b;
}
double FourOperations::sub(double a, double b) {return a - b;
}
double FourOperations::mul(double a, double b) {return a * b;
}
double FourOperations::div(double a, double b) {return a / b;
}
void FourOperations::print() {cout this is fouroperations.cpp endl;
}这时候右键项目点击生成会生成dll文件发布的话就需要 头文件 fouroperations.h 与 fouroperations.lib 与 fouroperations.dll 2. 使用这个动态库文件 新建一个项目右键项目属性-配置属性-c/c±常规-附加包含目录把动态库文件的 fouroperations.h 添加进去 右键项目属性-配置属性-链接器-常规-附加库目录填写fouroperations.lib 所在的路径) 右键项目属性-配置属性-链接器-输入-附加依赖项填写fouroperations.lib )
这样就可以正常使用这个动态库文件了
另外关于 linux下如果出现 静态库 使用了动态库 而我们又要使用这个静态库的 情景 参考https://www.cnblogs.com/fnlingnzb-learner/p/8119729.html 非常详细