首页 > 代码库 > linux下gcc编译的参数详细说明

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)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。

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