-g: 是一个编译选项,即在源代码编译的过程中起作用,让gcc把更多调试信息(也就包括符号信息)收集起来并将存放到最终的可执行文件内。
-rdynamic: 却是一个 连接选项 ,它将指示连接器把所有符号(而不仅仅只是程序已使用到的外部符号)都添加到动态符号表(即.dynsym表)里,以便那些通过 dlopen() 或 backtrace() (这一系列函数使用.dynsym表内符号)这样的函数使用。
-o: 指目标文件
-E:该选项的作用是让Gcc在预处理结束后停止编译过程。 Gcc –E hello.c –o hello.i。 -》预处理阶段
-S:该选项只进行编译而不进行汇编,生成汇编代码 Gcc –S hello.i –o hello.s。 -》编译阶段
-c:该选项可看到汇编代码已转化为”.o”的二进制目标代码 Gcc –c hello.s –o hello.o。 -》汇编阶段
http://www.cnblogs.com/lisuyun/p/4169395.html