c - 什么是 .a 和 .so 文件?

标签 c unix compilation shared-libraries .a

我目前正在尝试将 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/

相关文章:

c# - 将字符串从 C# 传递到 C .dll - 获取额外字符

linux - fdisk - 创建一半磁盘大小的交换分区

c++ - 使用 Boost 创建具有向后兼容 ABI 的库

.net - 在 C# 上编译 C++ 应用程序

compilation - 如何配置visual studio代码来编译scons?

c - Linux系统如何处理文件中的CRLF?

c - 在accept()之后发送数据

python - 尝试写入 C 扩展中创建的 Numpy 数组时出现 SegFault

c++ - 尝试从 C 加载 penlight lua 模块

unix - 我们可以使用EXPORT命令将hadoop数据复制到AWS S3吗?