`

c++ build 和 compile

 
阅读更多

一个C/C++程序的生成要经历以下步骤: 

1.编写文本代码,生成C或cpp文件,这时候它还是文本的; 

2.编译,就是compile,由C编译程序对你写的代码进行词法和句法分析,发现并报告错误,有错时编译不能通过。如若无错,则生成中间代码,扩展名为obj,此时它便是二进制的了; 

3.连接,在汇编里称link,在C里叫生成,即build,它的作用是生成可执行的exe文件。由于一个程序的源码可由多个文件组成。这些文件在第二步中分别编译,生成各自的目标文件(*.obj),这一步的作用便是将这些obj文件,以及程序中需要的其它库文件(dll除开),统一到一个文件中来,形成单个的exe文件。此exe文件便可以在操作系统下直接运行了。 

上述第二步做完中间代码生成的工作后还有个代码优化,这里就不详讲了。 

compile、build分别对应编译和连接这两个过程。

 

===================================================

 

compile只是将某个C或者CPP文件编译成obj文件,而build是将整个工程中的文件先Compile(编译),然后将编译生成的文件再Link(连接)成可执行文件。

分享到:
评论

相关推荐

    room-build-compile-public

    "build"和"compile"则涉及到了软件的构建和编译流程,这是开发过程中的关键步骤。而"public"可能意味着这是一个公开的、可供外部使用的部分,可能是开源项目或者对外的API接口。 在Android开发中,Room库是一个非常...

    激光雷达和毫米波雷达数据融合基于无迹卡尔曼滤波算法c++工程项目

    激光雷达和毫米波雷达数据融合基于无迹卡尔曼滤波算法c++工程项目 SensorFusion-UKF 激光雷达和毫米波雷达数据融合基于无迹卡尔曼滤波算法c++工程项目 基于无迹卡尔曼滤波,改成ROS协议下的 #你需要配置ROS环境以及...

    Geany-C++编译器简介

    本教程将引导你了解如何使用Geany编辑器进行C++程序的编写、编译和运行,帮助你快速入门Linux下的C++编程。 **一、Geany编辑器** Geany是一款轻量级、跨平台的源代码编辑器,特别适合初学者和专业开发人员。它支持...

    Sams Teach Yourself C++ in One Hour a Day (8th Edition).pdf(21天学通C++ 第8版 英文版)

    Learn the Standard Template Library and the containers and algorithms used in most real-world C++ applications * Learn how to build effective programs in C++ with hands-on exercises * Get expert tips ...

    基于 C++的MPC算法控制车辆的运动轨迹

    【作品名称】:基于 C++的MPC算法控制车辆的运动轨迹 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:- 项目运行 1....

    C++ Templates The Complete Guide, 2nd Edition

    on, three pioneering C++ experts show why, when, and how to use modern templates to build software that’s cleaner, faster, more efficient, and easier to maintain. Now extensively updated for the ...

    OC与c++混编文件

    Xcode项目中,需要在Build Settings中将“Compile Sources As”设置为“Objective-C++”,这样所有`.m`文件都会被当作Objective-C++文件处理,从而支持C++语法。 总之,OC与C++的混编提供了灵活性,使开发者能够...

    C++ Crash Course- A Fast-Paced Introduction 2019.rar

    Author: Josh Lospinoso Pub Date: 2019 ISBN: 978-1593278885 ...With well over 500 code samples and nearly 100 exercises, C++ Crash Course is sure to help you build a strong C++ foundation.

    Dev-C++安装包

    - 编译与运行:点击"Build"菜单下的"Compile"和"Execute"选项,或使用快捷键进行编译和运行。 - 调试:在代码中设置断点,使用调试器检查程序运行状态。 7. **兼容性与版本**:Dev-C++适用于Windows操作系统,有...

    VC2005 X64 Compile 設定

    总之,“VC2005 X64 Compile 設定”涉及的是如何在Visual Studio C++ 2005中设置和使用64位编译环境,这对于希望在64位平台上运行C++应用程序的开发者来说是一个重要的步骤。通过上述步骤,你可以确保你的代码能够...

    Visual studio c++ 6.0集开发环境的使用

    Visual Studio C++ 6.0 是微软公司Visual Studio系列中专用于C++程序开发的工具包,它为开发者提供了一个完整的环境来编写、编译、链接和运行C++程序。作为一个验证型实验,本篇将详细介绍如何在Visual Studio C++ ...

    C++备课笔记(钱能著)

    1. **构建过程**(Build):包含编译(Compile)和链接(Link)两个步骤。 2. **最简单的程序示例**: ```cpp #include int main() { std::cout ; return 0; } ``` - 注意事项: - 大小写敏感。 - 必须...

    C++ Templates The Complete Guide, 2nd Edition epub

    on, three pioneering C++ experts show why, when, and how to use modern templates to build software that’s cleaner, faster, more efficient, and easier to maintain. Now extensively updated for the ...

    C++基于无迹卡尔曼滤波算法的激光雷达和毫米波雷达数据融合项目源代码+数据

    #你需要配置ROS环境以及C++编译 Unscented Kalman Filter Project Starter Code Self-Driving Car Engineer Nanodegree Program Dependencies cmake >= v3.5 make >= v4.1 gcc/g++ >= v5.4 Basic Build ...

    实验一C++程序在Visual-C++6.0编译系统中的实现.pdf

    - **编译**:选择菜单栏的Build > Compile f.cpp进行编译,错误信息会在输出窗口显示,根据错误信息进行修正。 - **连接**:编译无误后,选择Build > Build f.exe进行连接,生成可执行文件。 - **运行**:运行...

    python扩展c++示例

    4. **运行构建脚本**:执行 `python3 setup.py build` 来编译 C++ 代码并生成 Python 可导入的模块。 5. **安装模块**:使用 `python3 setup.py install` 将扩展模块安装到 Python 的 site-packages 目录。 6. **...

Global site tag (gtag.js) - Google Analytics