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
原文地址:https://www.cnblogs.com/zhangdaicong/p/7709957.html