首页 > 试题广场 >

可使用下列哪个工具将.o文件打包成库文件?()

[单选题]
可使用下列哪个工具将.o文件打包成静态库文件(.a)?
  • gcc
  • ar
  • readelf
  • objdump
假设我有test1.c,test2.c两个源文件,先使用gcc -c *.c将源文件编译成目标文件,可以生成了test1.o,test2.o两个目标文件,然后,使用ar命令:ar crv libtest.a *.o将该目录下的所有目标文件打包生成了libtest.a文件。这样,你在编译的时候就可以直接使用这个静态库了。
发表于 2019-07-26 21:44:05 回复(1)
eadelf命令,一般用于查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。
objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。
ar命令可以用来创建、修改库,也可以从库中提出单个模块。
GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)
发表于 2020-02-27 07:14:21 回复(0)
ar 是能打静态库,但 gcc 不是能打动态库吗?
发表于 2020-06-15 16:11:24 回复(0)
不懂就问,这和Java有啥关系
发表于 2020-03-29 17:01:18 回复(2)

A. gcc:gcc是GNU Compiler Collection的缩写,是一个编译器集合,用于编译C、C++等程序。它通常用于将源文件编译成目标文件(.o文件),或者直接将源文件编译链接成可执行文件。gcc不用于将.o文件打包成静态库文件。

B. ar:ar是一个用于创建静态库文件(.a文件)的工具,它可以向静态库中添加、删除、列出成员文件,也可以从.o文件创建静态库。因此,ar工具可以用于将.o文件打包成静态库文件。

C. readelf:readelf是一个用于查看ELF格式二进制文件信息的工具,它可以显示目标文件的头部、节(section)头表、节内容等信息。readelf并不用于创建静态库文件。

D. objdump:objdump是一个用于显示目标文件信息的工具,它可以显示目标文件的反汇编代码、段信息等。与创建静态库文件无关。

发表于 2023-11-16 09:57:28 回复(0)
Linux ar命令用于建立或修改备存文件,或是从备存文件中抽取文件。
ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
发表于 2020-04-06 00:43:38 回复(0)