c++中使用外部库exe,.dll与.lib文件的生成与使用的详解
2016-04-04 21:22
417 查看
两种库:
• 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。
• 包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。
共有两种链接方式:
• 动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息。
• 静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件中。
--------------------------------------------------------------------------------
两种文件的区别
--------------------------------------------------------------------------------
使用lib需注意两个文件:
•.h头文件,包含lib中说明输出的类或符号原型或数据结构。应用程序调用lib时,需要将该文件包含入应用程序的源文件中
:属性页”->“VC++目录”->“包含目录”中追加下面一行:;include文件夹路径。
•.LIB文件:放在工程属性里面:o属性页”->“VC++目录”->“库目录”中追加一行,lib文件的路径。
exe文件:加入环境变量
使用dll需注意三个文件:
•.h头文件,包含dll中说明输出的类或符号原型或数据结构的.h文件。应用程序调用dll时,需要将该文件包含入应用程序的源文件中。
•.LIB文件,是dll在编译、链接成功之后生成的文件,作用是当其他应用程序调用dll时,需要将该文件引入应用程序,否则产生错误(如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载)。
•dll文件,放在工程项目的debug下面。真正的可执行文件,开发成功后的应用程序在发布时,只需要有.exe文件和.dll文件,并不需要.lib文件和.h头文件。
• 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。
• 包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。
共有两种链接方式:
• 动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息。
• 静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件中。
--------------------------------------------------------------------------------
两种文件的区别
--------------------------------------------------------------------------------
使用lib需注意两个文件:
•.h头文件,包含lib中说明输出的类或符号原型或数据结构。应用程序调用lib时,需要将该文件包含入应用程序的源文件中
:属性页”->“VC++目录”->“包含目录”中追加下面一行:;include文件夹路径。
•.LIB文件:放在工程属性里面:o属性页”->“VC++目录”->“库目录”中追加一行,lib文件的路径。
exe文件:加入环境变量
使用dll需注意三个文件:
•.h头文件,包含dll中说明输出的类或符号原型或数据结构的.h文件。应用程序调用dll时,需要将该文件包含入应用程序的源文件中。
•.LIB文件,是dll在编译、链接成功之后生成的文件,作用是当其他应用程序调用dll时,需要将该文件引入应用程序,否则产生错误(如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载)。
•dll文件,放在工程项目的debug下面。真正的可执行文件,开发成功后的应用程序在发布时,只需要有.exe文件和.dll文件,并不需要.lib文件和.h头文件。
相关文章推荐
- 中兴移动2014届校园招聘C++笔试题
- C++两个不同类之间,友元函数的简单应用。
- c++ 转换构造函数
- Move semantics(C++11)
- 大型分布式C++框架《一:框架简介》
- C语言问卷调查
- 设计模式C++策略模式
- 【C++】深拷贝和浅拷贝解析
- c++作业2---项目二到四
- C++多文件中全局变量的声明与定义
- C++ 枚举
- c++细节总结链接
- 【day0404】C++ 内联函数inline
- C++虚函数、虚函数的作用和使用方法
- 设计模式C++桥接模式
- C++ 自定义比较:仿函数、函数与重载操作符
- 递归算法以及C语言实例分析
- C++运算符重载及友元函数-练习题
- C++之类的内存分配问题
- c语言问卷调查