ar
是 Linux 系统中的一个命令行工具,用于创建、修改和管理静态库文件。静态库是一种将多个目标文件(.o 文件)打包成一个单一的文件,以便于程序链接时使用。
.a
为扩展名。在编译时,链接器会从静态库中提取所需的目标文件,并将其链接到最终的可执行文件中。ar
命令的基本用法ar [选项] <操作对象>...
常见选项包括:
r
:插入文件到归档文件中,如果文件已存在则替换。c
:创建一个新的归档文件,如果已存在则忽略。t
:显示归档文件中的文件列表。x
:从归档文件中提取文件。ar
主要用于处理静态库文件,但也支持处理其他类型的归档文件。
ar
来创建静态库。-L
选项指定库文件的搜索路径。假设我们有两个源文件 foo.c
和 bar.c
,我们想将它们打包成一个静态库 libfoobar.a
。
gcc -c foo.c -o foo.o
gcc -c bar.c -o bar.o
ar
创建静态库:ar rcs libfoobar.a foo.o bar.o
// main.c
#include <stdio.h>
// 声明 foo 和 bar 函数
void foo();
void bar();
int main() {
foo();
bar();
return 0;
}
编译并链接:
gcc main.c -L. -lfoobar -o main
运行 main
程序,它将调用 libfoobar.a
中的 foo
和 bar
函数。
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL(PostgreSQL版)训练营
新知·音视频技术公开课
2022OpenCloudOS社区开放日
云+社区沙龙online第6期[开源之道]
云原生正发声
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
领取专属 10元无门槛券
手把手带您无忧上云