linux下gcc编译的参数详细说明

参考网址:1 http://hi.baidu.com/zengzhaonong/item/f1f9383565fa5c302e0f8125  gcc使用方法 汇总

     2 http://s99f.blog.163.com/blog/static/35118365201311261453629/   gcc参数区别

                  3    http://blog.csdn.net/ruglcc/article/details/7814546                makefile教程

刚接触linux下的C编程.以前做项目时,接触过系统分层,不过最近发现,c程序也是,尤其是在编写大型项目时,也分为三层:控制层 界面层 模块层 .

然后在编译时,需要使用makefile,进行编译.此时又重新看了看gcc编译 和Makefile .在参阅其他人的Makefile时,发现一些细节.

1 gcc的 -I -L  -l -r -E -S  -o -O -Wall -c -m -g  的详细说明:       - I (大写字母 i ) 将指定目录作为第一个寻找头文件的目录

  -L   将指定目录作为第一个寻找库文件的目录

  -l (小写l)将指定目录作为第一个寻找动态链接库文件的目录

  -E  将.c文件预处理为.i文件

       -S 将.i文件编译成.s文件

       -o 将.s文件

       -O 对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的    速度就相应地要慢一些。

       -Wall 显示编译时所有打警告信息

       -c 只编译,不链接成为可执行文件编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。

       -g 产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。