zoukankan      html  css  js  c++  java
  • gcc编译器

         1).使用gcc编译器细分每一个编译的步骤,可以分为4个步骤:
                                           c文件                   汇编文件                 二进制文件                 可执行文件
                hello.c--预处理器(cpp)--> hello.i --编译器(gcc)--> hello.s --汇编器(as)--> hello.o --链接器(Id)--> a.out
                            gcc -E                     gcc -S                       gcc -c                    gcc
            2).编译工具链:
                预处理器(cpp)-->头文件展开,宏替换,注释去掉        gcc -E hello.c -o hello.i
                编译器(gcc)     -->c文件变成汇编文件                    gcc -S hello.i -o hello.s
                汇编器(as)   -->汇编文件变成二进制文件                gcc -c hello.s -o hello.o
                链接器(Id)     -->将函数库中相应的代码组合到目标文件    gcc hello.o -o hello.out
                
                将 c文件 编译成 汇编文件是比较耗时的
            3).-I 指定头文件的路径
            gcc sum.c -I ./include  -o app  【-I 指定头文件的路径,头文件.h跟当前文件不在同一个目录下】
            
            4).-D 在编译时候指定宏定义【控制log输出】
            gcc sum.c -D DEBUG -o app.out   【DEBUG--#define DEBUG】
            
            5).-On  n=0,1,2,3
                -O0 没有优化
                -O1 缺省值
                -O3 优化级别最高
                
            6).-Wall 提示更多警告信息
            7).-g gdb调试的时候必须加此参数
            8).-o 对生成文件的名字做个指定
  • 相关阅读:
    转载cocos3.17cmake打包
    cocos-lua3.17 Lua tableView工具类
    cocso引擎整体流程
    letCode-1
    letCode-2
    图像语义分割的前世今生
    简要介绍弱监督学*
    win10下乌龟git安装和使用
    STM32F4+Wi-Fi+EDP 向 OneNet 上传数据
    GoogLeNet学习
  • 原文地址:https://www.cnblogs.com/zheaven/p/14096385.html
Copyright © 2011-2022 走看看