zoukankan      html  css  js  c++  java
  • gcc编译器的使用方法

    一、gcc编译流程

    GCC编译器在编译一份C代码的时候,需要经过以下4个步骤:

        预处理(preprocessing):对 .c 源文件进行预处理,生成 .i 文件。
        编译(compilation):对 .i 文件进行编译,生成 .s 汇编文件。
        汇编(assembly):对 .s 文件进行汇编,生成 .o 目标文件。
        链接(linking):对 .o 文件进行链接,生成可执行文件。

    二、gcc命令使用

     2.1 gcc命令格式定义

           

      2.2 gcc命令常用参数

      2.2.1 基本参数

      
    -E:仅对源文件进行预处理,不进行编译。结果直接输出到显示屏。

          

      
    -S:对源文件进行预处理、编译,不进行汇编。结果以 .s 文件形式保存,与 .c 源文件同名。

          

      
    -c:对源文件进行预处理、编译、汇编,不进行链接。结果以 .o 文件形式保存,与 .c 源文件同名。
            
      
    -save-temps:保存编译过程中所产生的所有中间文件。中间文件名与 .c 源文件同名,后缀为 .i 、.s、.o
            

            
      2.2.2 调试参数

      
    -o:将任何类型的输出都存放至指定的文件中。

          
      
    -Wall:打开编译器的警告标志,尽可能多的输出警告信息。强烈建议,编译时始终带上 -Wall 选项。
            
      
    -Werror:将所有的警告当成错误处理,必须消除警告才能继续编译。
            
     2.2.3 函数库参数

      
    -llibrary:手动指定函数库library参与链接。库名为library,文件名为liblibrary.a或liblibrary.so

      -Ldir:手动添加一个路径dir,用以搜索库文件(.a 或 .so 文件,即手动指定的函数库文件的所在目录)。

      -Idir:手动添加一个路径dir,用以搜索头文件(.h 文件,即源码内#include要包含的文件的所在目录)。

          

            

  • 相关阅读:
    【P2236】彩票(搜索+剪枝)
    【P1714】切蛋糕(单调队列)
    【P1886】滑动窗口(单调队列→线段树→LCT)
    【P3522】TEM(单调队列+DP)
    【P3957】跳房子(单调队列+DP+二分)
    【P1947】笨笨当粉刷匠(DP+前缀和)
    【P2564】生日礼物(单调队列)
    【[NOI2011]智能车比赛】(建图+spfa+坑爹精度)
    diyiti.cpp
    由最小环问题想到的
  • 原文地址:https://www.cnblogs.com/zhengxunjie/p/11332427.html
Copyright © 2011-2022 走看看