当前位置:首页 » 编程软件 » 动态库什么时候不需要重新编译

动态库什么时候不需要重新编译

发布时间: 2025-02-14 05:18:56

1. GCC中静态连接和动态连接的区别

1:静态连接的时候,静态库的所有执行代码被直接编译到目标程序中。而动态连接的时候,仅仅把动态库的函数和变量的符号名,地址偏移量等导入到目标程序。只有在目标程序运行的时候才把动态库的执行代码加载到内存中。
2:动态链接的项目容易管理,把不同模块封装成不同的动态库,如果模块功能修改,一般只需要重新生成该动态库,不用重新编译其他模块和目标程序。而静态链接的程序修改任何一个地方都必须重新编译整个程序
3:静态链接生成的目标程序体积比动态链接的大,但是加载速度更快,发布更容易,不需要检查发布机器上是否有该动态库或者动态库版本是否符合要求。
4:如果多个程序使用一个动态库,则该库的执行代码只会在内存中加载一次。而静态库是多次加载(事实上静态库连接完就没用了,等于目标程序的一部分)。
5:从调试的角度来说,静态连接的程序调试方法和独立程序没有任何区别,而动态库的调试相对要复杂一些,因为库里面的符号地址都是相对地址。

热点内容
java数组返回 发布:2025-07-20 18:34:20 浏览:259
sqlserver不存在 发布:2025-07-20 18:28:05 浏览:837
原神电脑配置怎么玩不卡 发布:2025-07-20 18:07:06 浏览:955
反编译获取原代码 发布:2025-07-20 17:49:43 浏览:492
plc编译怎么找 发布:2025-07-20 17:48:56 浏览:162
无效的宏名称将编译哑宏 发布:2025-07-20 17:48:16 浏览:155
250万解压 发布:2025-07-20 17:44:52 浏览:620
腾讯视频上传广告 发布:2025-07-20 17:35:55 浏览:406
掘地求升免费脚本 发布:2025-07-20 17:32:06 浏览:962
linux设置python环境变量 发布:2025-07-20 17:22:49 浏览:242