C++编译相关的一些概念解析

编译器、编译环境、IDE(集成开发环境)、编辑器、编译运行工具链(toolchain)、构建(build)这几个概念是新手在初学C++时经常见到但又非常容易混淆的,在此简单说明一下它们之间的区别与联系,以及介绍一些常见的C++编译器。

一、概念解析

编译器:开发C++程序通常会经历编写源代码、预处理、编译、链接等几个步骤,其中编译就是将C++语句转换成二进制文件,而执行此任务的一段程序就称为编译器。
编译环境:编译器是程序,要想运行就离不开具体的操作系统环境。
IDE(集成开发环境):是指将项目文件管理器、代码编辑器、调试器、编译器等各种开发时所需要用到的工具整合在一起以极大程度上方便开发者进行开发的工具集合,通常是打包一起安装的。
编辑器:可以用来编辑代码的程序都可以叫编辑器,常见的包括VSCode、Vim、Notepad等。
编译运行工具链(toolchain):软件的编译过程由一系列步骤完成,每一个步骤都有一个对应的工具。这些工具紧密地工作在一起,前一个工具的输出是后一个工具的输入,像一根链条一样,我们称这些工具为工具链。
构建(build):构建就是将源代码转换为可执行文件的过程,大体上分为预处理、编译、链接三步。
构建过程

二、常见的C++编译器

(一)MSVC
MSVC是微软windows平台Visual Studio自带的C/C++编译器。
(二)GCC(G++)
GNU的C和C++编译器,主要用于Linux平台。GCC常见的编译环境有三个:
(1)Linux或WSL(Windows Sub-system for Linux, win10 内置的虚拟环境)中直接使用GCC。
(2)Cygwin是一个Windows下Unix-like模拟环境,GCC安装在Cygwin上。
(3)MingGW(Minimalist GNU on Windows)是一个Linux/Windows下的可以把软件源码中Unix-like OS API调用通过头文件翻译替换成相应的Windows API调用的编译环境。
(三)Clang:
Clang是一个由Apple主导编写,基于LLVM( Low Level Virtual Machine 的简称)的C/C++/Objective-C编译器,主要用于Mac OS X平台的开发。




注:本文并非原创,为网上信息的整合,参考文章:
[1] 概念以及编译器相关 @混沌的鳄鱼
[2] GCC解析
[3] 编译工具链

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值