|
gcc 使用一般的常用参数如下表所示:
参数
| 描述
| -c
| 编译或者汇编代码,但是不进行连接
| -S
| 编译后停止,但是不进行汇编
| -E
| 预处理后停止,但是不进行汇编
| -o
| 指定要使用的输出文件名
| -v
| 显示每个编译阶段使用的命令
| -std
| 指定使用的语言标准
| -g
| 生成调试信息
| -pg
| 生成 gprof 制作简档要使用的额外代码
| -O
| 优化可执行代码
| -W
| 设置编译器警告消息级别
| -pedantic
| 按照 C 标准发布强制性诊断清单
| -I
| 指定包含文件的目录
| -L
| 指定库文件目录
| -D
| 预定义源代码中使用的宏
| -U
| 取消任何定义了的宏
| -f
| 指定用于控制编译器行为的选项
| -m
| 指定与硬件相关的选项
|
gcc 中一个非常有用的参数是 -S。这个参数让编译器创建中间汇编语言文件,然后汇编器进行汇编。针对一段 hello.c :
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf ("hello world\n");
exit (0);
} 的一段代码使用 -S 选项生成汇编程序:
gcc -S hello.c
.file "hello.c"
.section .rodata
.LC0:
.string "hello world"
.text
.globl main
.type main, @function
main:
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
subl $16, %esp
movl $.LC0, (%esp)
call puts
movl $0, (%esp)
call exit
.size main, .-main
.ident "GCC: (Ubuntu 4.4.1-4ubuntu8) 4.4.1"
.section .note.GNU-stack,"",@progbits
|
|