导航:首页 > 源码编译 > lib文件无用代码会编译吗

lib文件无用代码会编译吗

发布时间:2024-05-18 16:28:16

⑴ windows中LIB和DLL的区别与使用

关于lib和dll的区别如下:
(1)lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要lib;如果要使动态链接的程序运行起来,只需要dll。
(2)如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体内容;如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。
(3)动态链接的情况下,有两个文件:一个是LIB文件,一个是DLL文件。LIB包含被DLL导出的函数名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到DLL文件。在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中相应函数代码的地址,从而节省了内存资源。DLL和LIB文件必须随应用程序一起发行,否则应用程序会产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。

⑵ lib鏂囦欢鏄浠涔鐢佃剳镓揿紑lib鏂囦欢镄勬柟娉

LIB鏂囦欢鏄涓绉嶅簱鏂囦欢锛岄氩父鍖呭惈浜嗕竴缁勮缂栬疟杩囩殑浠g爜锛屼緵绋嫔簭鍦ㄨ繍琛屾椂璋幂敤銆傝佹墦寮LIB鏂囦欢锛屼竴鑸闇瑕佺壒瀹氱殑寮鍙戝伐鍏锋垨杞浠讹纴濡傜紪璇戝櫒鎴栭泦鎴愬紑鍙戠幆澧冿纸IDE锛夈

LIB鏂囦欢鏄缂栫▼涓甯哥敤镄勪竴绉嶆枃浠剁被鍨嬶纴鐗瑰埆鏄鍦ㄤ娇鐢–鎴朇++绛夎瑷杩涜屽紑鍙戞椂銆侺IB鏂囦欢阃氩父鍖呭惈浜嗙▼搴忎腑闇瑕佺殑鍑芥暟鎴栧彉閲忕殑瀹炵幇锛岃繖浜涘疄鐜拌缂栬疟鎴愪简浜岃繘鍒朵唬镰侊纴骞跺瓨鍌ㄥ湪LIB鏂囦欢涓銆傚綋绋嫔簭闇瑕佽皟鐢ㄨ繖浜涘嚱鏁版垨鍙橀噺镞讹纴灏变细阈炬帴鍒癓IB鏂囦欢锛屼粠钥屼娇鐢ㄥ叾涓镄勪唬镰併

鐢变簬LIB鏂囦欢鏄浜岃繘鍒舵枃浠讹纴锲犳や笉鑳界洿鎺ョ敤鏅阃氱殑鏂囨湰缂栬緫鍣ㄦ墦寮銆傝佹煡鐪嬫垨缂栬緫LIB鏂囦欢镄勫唴瀹癸纴闇瑕佷娇鐢ㄤ笓闂ㄧ殑寮鍙戝伐鍏锋垨杞浠躲备緥濡傦纴鍦–鎴朇++寮鍙戜腑锛屽父鐢ㄧ殑缂栬疟鍣ㄥ侴CC鎴朇lang锛屼互鍙婇泦鎴愬紑鍙戠幆澧冿纸IDE锛夊俈isual Studio鎴朇ode::Blocks锛岄兘鏀鎸佸筁IB鏂囦欢镄勬搷浣溿傞氲繃杩欎簺宸ュ叿锛岀▼搴忓憳鍙浠ユ煡鐪婰IB鏂囦欢涓镄勭﹀彿琛ㄣ佸嚱鏁板畾涔夌瓑淇℃伅锛屼篃鍙浠ュ皢LIB鏂囦欢阈炬帴鍒颁粬浠镄勯”鐩涓锛屼互渚垮湪杩愯屾椂浣跨敤鍏朵腑镄勪唬镰併

闄や简缂栫▼寮鍙戝栵纴LIB鏂囦欢杩桦彲鑳藉湪鍏朵粬棰嗗烟涓浣跨敤銆备緥濡傦纴鍦ㄦ搷浣灭郴缁熸垨椹卞姩绋嫔簭寮鍙戜腑锛孡IB鏂囦欢鍙鑳藉寘钖浜嗗簳灞傜‖浠舵垨绯荤粺璋幂敤镄勫疄鐜般傚湪杩欎簺𨱍呭喌涓嬶纴镓揿紑LIB鏂囦欢鍙鑳介渶瑕佹洿锷犱笓涓氱殑宸ュ叿鎴栫煡璇嗐

镐荤殑𨱒ヨ达纴LIB鏂囦欢鏄缂栫▼涓閲嶈佺殑璧勬簮鏂囦欢锛屽畠浠鍖呭惈浜嗙▼搴忎腑闇瑕佺殑浠g爜瀹炵幇銆傝槠铹禠IB鏂囦欢涓嶈兘鐩存帴鐢ㄦ櫘阃氱殑鏂囨湰缂栬緫鍣ㄦ墦寮锛屼絾阃氲繃浣跨敤涓挞棬镄勫紑鍙戝伐鍏锋垨杞浠讹纴绋嫔簭锻桦彲浠ユ柟渚垮湴镆ョ湅鍜屼娇鐢ㄥ叾涓镄勫唴瀹广

⑶ 很多编译器都有个LIB文件夹,里面有很多.lib文件,它们的作用是什么

.lib文件是程序的二进制库文件,编译器连接程序是一般会用到.
如:
main()
{
printf("abc");
}
在这个程序中,你是不用编写输出函数代码的,直接调用printf()函数的就可以输出字符串了.printf()函数的二进制代码就是在.lib文件中,只是程序编译后,把它的二进制代码加到了本例程序中.
在TC2.0下,.lib文件可以用tlib.exe程序建立.

⑷ 使用lib使用源代码编译差异

c
Lib Dll 差异 调用

wq_T
转载
关注
0点赞·2169人阅读
动态链接库的Lib文件与Dll文件的作用
(1)lib是编译时需要的,dll是运行时需要的。

如果要完成源代码的编译,有lib就够了。

如果要使动态连接的程序运行起来,有dll就够了。

在开发和调试阶段,当然最好都有。

(2)在动态库的情况下,有两个文件,一个是引入库(.LIB)文件,一个是DLL文件,引入库文件(.LIB)包含被DLL导出的函数的名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到所需要使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中所要调用的函数的内存地址,这样当一个或多个应用程序运行是再把程序代码和被调用的函数代码链接起来,从而节省了内存资源。

如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。静态编译的lib文件有好处:给用户安装时就不需要再挂动态库了。但也有缺点,就是导致应用程序比较大,而且失去了动态库的灵活性,在版本升级时,同时要发布新的应用程序才行。

⑸ lib文件是什么是不是编译自动生成我不加lib文件运行不了

lib文件是静态库,这种文件中有头文件中声明的函数的实现代码,一般用在静态连编上,编译链接时,将lib文件与其他模块编译生成的目标代码链接,从而形成能够运行的可执行文件。
#pragma comment(lib, "pcc32_vc6.lib")就是连入一个库文件,表示链接pcc32_vc6.lib这个静态库文件来生成可执行文件。

⑹ lib文件是什么

  1. .lib是一种文件名后缀,该文件为Windows操作系统中的库文件,相当于Linux中的·a或·o、.so文件。

  2. lib文件通过编译才可以使用,编译分静态与动态之分。

    静态编译

    静态lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序。

    动态编译

    动态lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,运行时候需要相应的dll文件支持。

⑺ Keil的编译错误问题

根据LENGTH:082BH(2K)分析,ERROR L107错误的出现应该是你使用的Keil软件是一个评估软件(对代码有2K长度的限制)。
至于在选择的目标文件(就是存放这些C程序代码的文件)里面多了很多无用的C、H、LIB文件,只要里面的函数名和全局变量不同名并且不违背C51的语法,是不会影响程序的编译和运行的。C5会自动的把未被调用的函数和未使用的变量删除以减小代码的长度。

阅读全文

与lib文件无用代码会编译吗相关的资料

热点内容
程序员那么可爱姜逸城初恋 浏览:493
modbustcp编程 浏览:488
实况为什么安卓看不了 浏览:129
Java多线程Queue 浏览:94
云服务器499元三年 浏览:980
nbd源码 浏览:846
x86在arm上编译 浏览:7
linux怎么配置网络 浏览:307
程序员想要的小礼物 浏览:186
java获取网页url 浏览:624
怎么做解压神器泡泡版 浏览:966
自己动手做一个c编译器 浏览:929
手机如何链接谷歌服务器地址 浏览:137
废掉一个程序员的武功 浏览:249
java树形算法 浏览:641
通达信加锁指标源码怎么看 浏览:754
将同名文件移动到部分同名文件夹 浏览:403
摆荡指标加压力线源码 浏览:915
新一代单片机特征 浏览:770
王者的服务器什么时候才修好 浏览:281