VS2015静态库与动态库的使用
来源:互联网 发布:加权余量法 知乎 编辑:程序博客网 时间:2024/05/23 11:30
VS2015静态库与动态库的使用
静态库
- 静态库创建(略),往往我们使用第三方的比较常见,如果要自己团队间创建使用也很简单;
- 头文件的加载:
- 方式一:
(1)将静态库给出的头文件拷贝到项目目录下(*.vcxproj所在的目录);
(2)在项目中添加该头文件:右键–》添加–》现有项–》选中刚才拷贝的头文件;
(3)在需要使用的文件中#include “*.h” 包含刚才的头文件。 - 方式二:
- 在项目属性中配置头文件的查找路径
- 方式一:
- 库文件的加载:
首先需要将*.lib同样拷贝到项目目录下
方式一:
使用#pragma comment(lib, "***.lib") #include "stdafx.h" #include "ConsolLib.h" #include <iostream> #pragma comment(lib, "ConsolLib.lib") int main() { int tmp = AddTwo(10, 30); std::cout << "tmp =" << tmp << std::endl; return 0; }
方式二:
通过项目属性指定链接属性,使在链接期能够找到需要链接的静态库文件
#include "stdafx.h"#include <iostream>#include "ConsolLib.h"//#pragma comment(lib, "ConsolLib.lib")int main(){ int tmp = AddTwo(10, 30); std::cout << "tmp =" << tmp << std::endl; return 0;}
方式三:
右键–》添加现有项–》添加*.lib
动态库
动态库的静态链接
动态库的使用包含三个方面:
* 1. 头文件(*.h)
需要_declspec(dllexport)引用接口
同时使用extern “C”{ …… }包含起来,extern只是提示编译器变量或函数只是定义在其它地方
导入方法:(同静态库)
方法一:直接将头文件拷贝到项目目录;
方法二:在项目属性中配置头文件的查找路径
- 引入库(*.lib)
使用_declspec(dllexport)标记导出的接口,才会生成引入库,否则只会生成动态库。
它的导入跟静态库类似,不再赘述。只是让编译器找到它的声明符号。
- 引入库(*.lib)
- 动态库(*.dll)
动态库的导入方法:
方法一:将*.dll拷贝到项目目录下
方法二:通过指定项目调试属性,而非直接拷贝方式
属性配置–》调试–》工作目录
方法三:通过制定vs2015环境变量
- 动态库(*.dll)
动态库的动态链接
LoadLibrary()
GetProcAddress()
FreeLibrary()
参考:http://blog.csdn.net/yyhero1/article/details/19272637
阅读全文
0 0
- VS2015静态库与动态库的使用
- VS2015静态库的使用(上)
- VS2015静态库的使用(下)
- vs2015使用MinGW编译的动态库
- VS2015 动态链接库&&静态链接库
- VS2015动态库静态加载时指定动态库位置的方法
- 静态库与动态库的生成与使用
- linux静态库与动态库的区别与使用
- 静态库与动态库的制作与使用
- 静态库与动态库的创建与使用
- 静态库与动态库的创建与使用
- C/C++(2)VS2015生成并使用自定义动态库dll/静态库lib
- DLL_动态链接库的创建与调用(VS2015)
- 使用VS2015调试Android的C++动态链接库
- 使用VS2015创建纯C动态库。
- linux 静态库与动态库的编译和使用
- Linux下静态库与动态库的使用
- Linux下静态库与动态库的使用
- 页面侧滑
- spring+springMVC+mybatis框架 兼容mongodb(mysql+mongodb)
- CC2541/CC2530 pwm
- Havel-Hakimi定理(判断一个度序列是否可图)
- Git回滚到历史节点(SourceTree篇)
- VS2015静态库与动态库的使用
- python 字典的问题
- 网页前端代码存档
- 服务器安装之--nmon
- 序列化和反序列化Serializable-2
- Android开发能用上的技术
- BZOJ 1385: [Baltic2000]Division expression
- Tyvj4876:骰子游戏 ((FFT/NTT)+倍增+DP)
- Gradle配置记录