环卫工人辛苦图片大全:请问:谁能解释一下编程中的动态链接和静态链接?

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 12:54:56

动态链接就是链接动态链接库,编出来的可执行程序(.exe文件)小,但运行可执行程序时要同时运行动态链接库,即*.DLL.

静态链接,就是把要链接的库的代码全部放到可执行程序里,编出来的可执行程序大,但运行可执行程序时不须同时运行动态链接库.

采用动态链接的好处是计算机的总体效率提高.动态链接库里的东西,许多其他同时运行的视窗程序可以共享,动态库占用的内存,也共享.同一时间只要运行一个同样的动态库.

动态链接的缺点是,有许许多多的动态链接库,同名动态链接库有不同版本,新版本不一定兼容老的,老版本不一定兼容新的.每当机器更新时,动态链接库也可能更新,也可能更旧(不要觉得奇怪,微软就是这么干的).

编译时用哪个动态链接库(的.lib),程序运行时就需要那个版的.DLL,否则有麻烦.有时自己写的程序,操作系统一变,程序运行就会crash,这时要重新编译. 如果用静态链接,就没问题,操作系统更新对它没影响,因为所有代码都在可执行程序里面.

动态连接库是在程序运行时加载到内存中的。

静态库是在编译时跟目标文件一起被编译的。