欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

gcc命令

程序员文章站 2022-07-14 12:45:18
...

  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(可执行文件).
多文件编译:

  多个文件一起编译:

        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
相关标签: linux gcc gnu