.so文件和.a文件之间的区别?

Dro*_*der 10 linux apache static openssl dynamic

我读过这.so是一个动态库文件,.a是一个静态库文件.

虽然构建openssl我给了选项./Configure no-shared,它创建了很多.a文件.

所以,我的问题是像apache这样的其他软件包是否可以使用.aopenssl中的文件?

例如libcrypto.a,

如果我正走错路,请有人建议我.

Qbe*_*ben 9

基本上,静态库可以在链接时编译另一个应用程序中.在您的示例中,Apache可以libcrypto.a在构建期间使用它并将其包含在Apache httpd应用程序中.

.so可以在运行时加载和卸载动态库,并且您可以更灵活地更改Apache应该支持的内容,而无需重新编译Apache二进制文件.

以Apache为例,.so文档的动态加载文件在动态共享对象(DSO)部分中进行了描述.您还可以找到安装部分的链接,其中描述了如何在构建时包含静态库.

关于这个问题有一个很好的问题,可以很好地阅读,并提供主题中的微尘细节.

共享对象(.so),静态库(.a)和DLL(.so)之间的区别?