GCC命令基础

Posted 爱来无忧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GCC命令基础相关的知识,希望对你有一定的参考价值。

gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点, 现在很多程序员都应用GCC,怎样才能更好的应用GCC. 目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言.


语法:

??gcc (选项)(参数)


 

    -o: 指定生成文件的输出文件. 
    -E: 仅执行编译预处理.
    -S: 将c代码转换为汇编代码.
    -c: 仅执行编译操作,不进行连接操作.
    -I: 指定头文件路径. 
    -D: 指定宏. 
    -O[1-3]: 优化程序(三个等级,1-3)  
    -g: 添加调试信息. 
    -wall: 显示警告信息. 

 


参数:

??C源文件: 指定c语言源代码文件.


实例:

单文件编译:
    gcc -E hello.c -o hello.i   # 头文件展开,宏替换,注释去掉.
    gcc -S hello.i              # c文件变成汇编文件(生产hello.s).
    gcc -c hello.s              # 汇编文件变成二进制文件(生产hello.o).
    gcc hello.o -o hello        # 将函数库中相应的代码组合到目标文件中.
    gcc hello.o                 # (生产a.out文件).
    gcc hello.c -I ./head.h_paht -o hello       # -I参数指定头文件路径.

 

      -E                    -S                  -c                   gcc *.o   
hello.c ---> hello.i(c文件) ---> hello.s(汇编文件) ---> hello.o(二进制文件) ---> a.out(可执行文件).

 

多文件编译:

??多个文件一起编译:

  1.      gcc testfun.c test.c -o test    # 将testfun.c和test.c分别编译后链接成test可执行文件.

 

??分别编译各个文件,之后对编译后输出的目标文件链接.

        gcc -c testfun.c
        gcc -c test.c
        gcc -o testfun.o test.o -o test

以上是关于GCC命令基础的主要内容,如果未能解决你的问题,请参考以下文章

C相关基础点

20175221 《信息安全系统设计基础》第3周学习总结

20145234黄斐《信息安全系统设计基础》期中总结

20145331 《信息安全系统设计基础》第5周学习总结

gcc常用命令

2017-2018-1 20155208 《信息安全系统设计基础》第五周学习总结