C++程序编译

GCC编译器

文章目录


在这里插入图片描述

源文件Main.cpp

注意cpp文件 一定要用g++命令 否则没办法执行

在这里插入图片描述

  1. 预处理(Pre-Processing):首先会经过预处理器将程序中的预编译指令进行处理,然后把源文件中的注释这些没用的东西都给扬了。

    g++ -E Main.cpp -o Main.i
    

    在这里插入图片描述

  2. 编译(Compiling):处理好之后,就可以正式开始编译,首先会编译为汇编代码。

    g++ -S Main.i -o Main.s
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5cb1b6899e1546bb8e3b263f8770444e.png#pic_center)
    
  3. 汇编(Assembling):接着就该将汇编代码编译为机器可以执行的二进制机器指令了,会得到一个二进制目标文件。

    g++ -c Main.s -o Main.o
    

    Main.o 是二进制文件无法直接打开

    在这里插入图片描述

  4. 链接(Linking):最后需要将这个二进制目标文件与系统库和其他库的OBJ文件、库文件链接起来,最终生成了可以在特定平台运行的可执行文件。

    g++ Main.o -o Main
    

    比如在Windows操作系统下完成这四步,就会生成一个Windows的.exe可执行文件。

    一步到位生成可执行文件

    g++ Main.cpp -o Main
    

相关推荐

  1. Android 编译C程序APP

    2024-01-02 03:44:02       15 阅读
  2. C#程序编译经验总结

    2024-01-02 03:44:02       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-02 03:44:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-02 03:44:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-02 03:44:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-02 03:44:02       20 阅读

热门阅读

  1. golang的大杀器协程goroutine

    2024-01-02 03:44:02       41 阅读
  2. 常见的漏洞

    2024-01-02 03:44:02       34 阅读
  3. 编码和解码的未来之路

    2024-01-02 03:44:02       31 阅读
  4. 【无标题】

    2024-01-02 03:44:02       42 阅读
  5. 【从浅到深的算法技巧】3.数组

    2024-01-02 03:44:02       33 阅读
  6. iostat采集的IO数据来源是哪里?

    2024-01-02 03:44:02       31 阅读
  7. [NAND Flash 5.1] 闪存芯片物理结构与SLC/MLC/TLC/QLC

    2024-01-02 03:44:02       29 阅读
  8. string类

    string类

    2024-01-02 03:44:02      26 阅读