静态库和共享库之间的区别

computer programmingdynamic programmingprogramming

在编程上下文中,库是指具有某种预编译代码的东西,可以在任何程序中重复使用以实现某些特定功能或特性。

现在,根据此代码的执行和存储,库分为两种类型,即静态库和共享库。

以下是静态库和共享库之间的重要区别。

Sr.不。关键字静态库共享库
1定义静态库是指执行文件的所有代码都位于一个可执行文件中的库,该文件由编译器、链接器或绑定器复制到目标应用程序中,生成一个对象文件和一个独立的可执行文件。另一方面,共享库是指目标程序中只提到库的地址,而库的所有函数和代码都位于内存空间中的特殊位置,每个程序都可以访问它们,而无需复制它们。
2导入如上所述,静态库在编译时由调用者解析,并由编译器、链接器或绑定器复制到目标应用程序中。共享库在操作系统本身执行目标程序时导入。
3大小静态库很大,因为外部程序是在可执行文件中构建的。另一方面,共享库要小得多,因为动态库只有一个副本,该副本仅在执行时保存在内存中,否则其位置是远程的。
4编译对于静态库,如果对外部文件应用了任何更改,则需要重新编译。另一方面,对于共享库,无需重新编译可执行文件。
5性能静态库需要更长的时间来执行,因为每次执行时都会加载到内存中。而共享库的速度更快,因为共享库代码已经在内存中了。
6兼容性在静态库中没有观察到兼容性问题。另一方面,如果共享库存在兼容性问题,那么如果从系统中删除库,目标程序将无法工作。

相关文章