ELF文件生成命令和选项

时间:2014-04-12 17:04:52

标签: c linux gcc elf

我正在网上阅读有关ELF文件的内容,并且不了解标准命令以生成ELF文件。

直到现在我一直在使用>运行我的代码gcc test.c -o test.o .Thats it !!

一篇文章说:

  

gcc -c test.c //将生成ELF文件test.o

现在-o选项是告诉编译器创建一个可执行文件(不是ELF)

另一位article说:

  

gcc -c test.c -o test.o //将生成ELF test.o - >在这里我很困惑。

-o应始终生成可执行文件。

1 个答案:

答案 0 :(得分:3)

选项-c告诉GCC生成目标文件。此目标文件仅是源文件test.c中的已编译代码,而不是完整程序。要生成完整的程序,您需要链接目标文件。或者不使用-c选项。

-o选项告诉GCC输出文件的名称,无论输出文件是什么类型。


因此,要从单个源文件生成可执行文件,最简单的命令是

$ gcc test.c

以上命令将在当前目录中创建名为a.out的可执行文件。要将输出文件命名为其他内容,请使用-o选项:

$ gcc test.c -o myprogram

以上命令命名可执行程序myprogram

要对目标文件使用中间步骤,请使用-c选项,然后使用单独的步骤链接程序,例如

$ gcc -c test.c
$ gcc test.o -o myprogram

以上两个命令与单个命令gcc test.c -o myprogram相同。