说明在什么时候采用连接静态库的方法更合适,在什么时候采用连接动态库的方法更合适。

admin2016-05-12  32

问题 说明在什么时候采用连接静态库的方法更合适,在什么时候采用连接动态库的方法更合适。

选项

答案在编译、连接静态库时,编译程序将用户程序要调用的库函数全部连接到用户的程序中,组合成一个完整的不可分割的执行代码。在运行时,用户程序就与原静态库脱离了联系。如果一个用户要在其他的同类计算机上运行该程序,就不需要将静态库和相应的运行环境复制过去,在这种情况下采用连接静态库是合适的。 如果有若干的应用程序要调用相同的库函数,那么各个应用分别都要把库中有关的函数连入自己的程序库中,这些冗余的代码极大地增加了程序的长度,平时要消耗较多的磁盘存储空间,这些应用同时运用时也要占用较大的内存空间,在这种情况下采用连接静态库是不合适的。 在编译、连接动态库时,编译程序并不将动态库中的函数连入用户的程序中,而只建立了对动态库的引用连接,因此所生成的目标代码长度要比使用静态库小得多。 当有若干程序要使用同一个动态库时,系统只要在内存中驻留该动态库的一个副本,各个调用程序共享同一个库的代码,这样大大减小了系统中执行代码的总长度,也使更多的用户程序可以并发地运行,在这种情况下采用连接动态库是合适的。 如果系统中只有一个程序要使用库,那么采用动态库的方式比起采用静态库的方式非但不能减少执行代码的总长度,反而可能增加其长度。因为在连接静态库时,系统只把用户要调用的库函数连入程序中,而在连接动态库时,尽管所生成的目标代码中不包含库中的函数代码,但在执行时系统却要把整个动态库都调入内存(在虚拟存储管理系统中只要部分调入即可),而不管是否要用到库中的全部函数。故在这种情况下采用连接动态库是不合适的。 另一方面,如果一个用户要在其他同类计算机上运行该程序,就必须将动态库和相应的运行环境复制过去,在这种情况下采用连接动态库不如采用连接静态库方便。

解析
转载请注明原文地址:https://jikaoti.com/ti/fCEaFFFM
本试题收录于: 操作系统题库理工类分类
0

最新回复(0)