我目前正在尝试将 C 应用程序移植到 AIX并且感到困惑。什么是 .a 和 .so 文件以及在构建/运行应用程序时如何使用它们?
最佳答案
存档库 (.a) 是静态链接的,即当您在 gcc 中使用 -c 选项编译程序时。因此,如果库中有任何更改,您需要重新编译和构建您的代码。
.so(共享对象)相对于 .a 库的优势在于它们在运行时链接,即在 gcc 中创建 .o 文件后的 -o 选项。所以,如果 .so 文件有任何变化,你不需要重新编译你的主程序。 但是请确保您的主程序已使用 ln 命令链接到新的 .so 文件。
这将帮助您构建 .so 文件。 http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
关于c - 什么是 .a 和 .so 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9809213/