扩展名: (扩展名为 .so) 这类库通常扩展名为 libxxx.so 的类型; 编译行为: 动态库与静态库的编译行为差异挺大的。 与静态库被整合到程序中不同,动态库在编译的时候,在程序里面只有一个指向动态库位置的指针而已。也就是说,动态库的内容并没有被整合到执行程序当中,而是当执行程序要使用到库时, 程序才会去读取动态库来使用。由于执行程序中仅具有指向库所在的指针而已, 并不包含库的内容,所以它的文件会比较小一点; 独立执行的状态: 动态库所编译出来的程序不能被独立执行, 因为当我们使用到库时,程序才会去读取库,所以库文件『必须要存在』才行,而且,库文件的『所在目录也不能改变』,因为我们的可执行文件里面仅有指针,当需要库文件的内容时, 程序会主动去指针指向的路径读取,所以动态库不能随意移动或删除,否则会影响到对此有依赖的软件; 升级难易度: 虽然这类型的执行档无法独立运作,然而由于是具有指向的功能, 所以,当库升级后,执行程序根本不需要进行重新编译,因为执行程序会直接指向新的库文件 (前提是库文件新旧版本的名字要相同喔!)。版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/15692.html