为什么C++6.0中,经常是添加了头文件和库文件后,还要在Link中添加一些Lib 那之前添加的lib目录是做什么的

为什么C++6.0中,经常是添加了头文件和库文件后,还要在Link中添加一些Lib 那之前添加的lib目录是做什么的,第1张

有一些LIB目录是系统调用所需,在编译过程中,系统的一般在设置的目录中去找,如果是你自己开发的DLL和LIB文件,则需要手动添加,可以不用在LINK里加,直接在函数体头文件处载入即可.

#pragma comment(lib, "yourdll.lib")

1.lib文件的加载

lib其实就是window下的静态库文件

C++加载静态库文件只能静态加载,在编译的时候进行

下面以vs2010为例:

首先右键单击项目,选择属性:

打开配置属性-链接器-常规-附加库目录

新建一行,填入你要加载lib文件所在的路径

现在设置好了加载的lib目录,再设置要加载的lib

打开项目属性-链接器-输入-附加依赖项

在编辑框输入lib的全名(不带路径)一个文件占一行

现在再编译文件的时候,自动就会使用lib中包含的符号了

2.lib文件的使用

lib文件是window的静态库文件,其实就是很多编译好的函数代码的集合。这种文件里面的代码无法直接执行,必须进行二次编译后才能使用。当你使用了lib中的函数后,编译器会将其代码从lib文件中提取出来,然后追加到你自己的程序中去。所以,使用lib编译出来的执行程序比用dll的大一些,甚至很多。但是这样做,程序的执行效率会高很多(dll必须在运行时去找函数来执行,并且要进行耗时的长跳转),一种典型的通过空间换时间的策略。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11276467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存