1,gcc生成预处理选项 -E
gcc -E hello.c -o hellp.cpp
2,gcc生成目标码:-c
gcc -x cpp-output -c hello.cpp -o hello.o
3,gcc:
-D FOO=BAR 命令行定义预处理宏FOO,其值为BAR
-I DIRNAME 将DIRNAME加入到包含文件的搜索目录列表中。
-L DIRNAME 将DIRNAME加入到库文件的搜索目录列表中。
-static 链接静态库,默认GCC只链接共享库
-l FOO 链接名为libFOO的函数库
-g 包含标准调试信息
-O 优化编译过的代码
-ansi 支持ANSI/ISO C的标准語法
-pedantic 允许发出ANSI/ISOC 所列出的所有警告
-pedantic-errors 允许发出ANSI/ISO C标准所列出的所有错误。
-w 关闭所有警告
-Wall允许发出所有警告
-werror 将所有警告转换为错误,这样警告也会使编译中止
-MM 输出一上make兼容的相关列表
-v 显示在编译过程的每一步中用到的命令。

$ gcc myapp.c -L/home/fred/lib -lnew -o myapp
//在目录/home/fred/lib/libnew.so编程库
4,函数不返回 调用exit ,abort都不返回时,声明如下,实现照旧。
void die_on_error(void) __attribute__ (noreturn); //声明

对齐时
int int_var __attribute__ ((aligned 16)) = 0;

   未用到的变量不产生警告
float big_salary __attribute__ ((unused));

5,case区间
case LOWVAL ... HIVAL:

switch(int_var){
case 0...2:
/* your code here*/
break;
case 3...5:
/*more code here*/
break;
default:
/* default code here*/
}

6,__FUNCTION__变量指函数本身名,是一个字符串