本文共 747 字,大约阅读时间需要 2 分钟。
GCC 原名为 GNU C 语言编译器,因为它原本只能处理C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件。
gcc demo.c -o demo //包含了编译过程中的预处理,编译,汇编和链接四个阶段
含义:用 gcc 编译 demo.c,并生成一个二进制文件 demo。 其中 –o 的意义是 output,指明要生成的文件的名称,如果不写 –o demo ,则默认生成 a.out 文件(Linux下.out后缀的是可执行文件,相当于windows下的.exe文件)。完成了从 C 源程序到 ELF 格式(Linux 系统下的可执行文件的格式)的全部步骤,生成的文件 demo是一个可以直接运行的二进制文件。
-E:仅作预处理,不进行编译、汇编和链接
-S:仅编译到汇编语言,不进行汇编和链接 -c:编译、汇编到目标代码(也就是计算机可识别的二进制) -o:执行命令后文件的命名 -g:生成调试信息 -w:不生成任何警告 -Wall:生成所有的警告
touch demo.c
gcc -E demo.c -o demo.i//生成预处理文件
gcc -S demo.i -o demo.s//生成汇编源代码文件
gcc -c demo.s -o demo.o//生成汇编代码文件
gcc demo.o -o demo//生成可执行文件
转载地址:http://zhcl.baihongyu.com/