gcc [options] [filename]
编译更多例子请查看: C语言编译流程
一般options
-c :只编译不链接,生成目标文件.o;
-S :只编译不汇编,生成汇编码;
-E :只预处理;
-g :生成调试信息;
-o file:生成目标文件.o或可执行文件;
-v:查看gcc版本;
--std=name //name: c89, c90, c99, c1x, c11;
-l dir 头文件;
例子1
gcc -o bin/hello src/hello.c
例子2
gcc -o bin/hello.o -c src/hello.c
gcc -o bin/hello obj/hello.o
优化options
-O0 :gcc hello.c 默认不加-On
-O1 :或 -O,优化栈退出,线程跳转,减少代码长度和执行时间;
-O2 :O1 + CPU指令调度和调整;
-O3 :O2 + 循环展开,CPU特性优化;
测试优化命令
time ./hello
测试结果
#include <stdio.h>
#define NUM 1000000000
int main()
{
int i, sum =0;
for(i = 0;i < NUM ; i++