-g 只是编译器,在编译的时候,产生调试信息
-C 在预处理的时候,不删除注释信息,一般和-E使用,有时候分析程序,用这个很方便的
-M 生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c 来测试一下,很简单。
-pipe:管道,它可以用来同时连接两个程序,其中一个程序的输出将直接作为另一个程序的输入,这样就可以避免使用临时文件,提高编译速度,但编译时消耗更多的内存.
-Dmacro 定义指定的宏,使它能够通过源码中的#ifdef进行检验(相当于C语言中的#define macro)
-g3 获得有关调试程序的详细信息
-v 启动所有报警
-w 禁止所有报警
-Wall 显示所有的Warning
-pg 可以生成gprof调试的文件
-Dmacro=defn 相当于C语言中的#define macro=defn