分享免费的编程资源和教程

网站首页 > 技术教程 正文

码上去学海南公司:C++入门编程——C++的编译器和构建工具

goqiw 2024-11-10 10:11:01 技术教程 9 ℃ 0 评论

我们从C++环境搭建就提及到gcc、g++、make等技术名词,其实一个完整并且正常运行的C++程序必需包含编译器和构建工具,由于C++已有多年的发展历程,衍生多种了编译器和构建工具。今天码上去学海南公司和大家聊聊C++的编译器和构建工具!

编译器分类

C++的编译器可以分为4大类:GCC家族、MS家族、Borland家族、其他小家族。

  • GCC家族

类别细分如下:

cygwinMinGwDJGPP

Dev-C++(MinGw)

GNU Gcc

GNU C++

g++


Cygwin和MinGW都是WIN平台下的编译器,DJGPP是DOS下的32位编译器,DEV-C++充只是GCC的一个外壳,它所自带编译器是MinGW某个版本。其中GNU GCC是根本,其它编译器版本都是从它延伸发展的。

在这些GCC的版本中,Cygwin最为庞大,不仅是一个编译器,还是一套编程工具,不仅含有编译器,还包含了其他工具。

  • MS家族

类别细分如下:

MSC

MsQc

MSvc

visual C++


主要由微软研发,并且集成到Visual Studio。其中Visual C++最为主流,包含强大的类和内嵌WinAPI的MFC,具有可视化的编程界面,软件报错比较准确。

  • Borland家族

类别细分如下:

TC

TC++

BC

BCB

Borland C++


由Borland公司研发的,作为Borland C++ Builder和Borland C++ Builder X的IDE编译器。

  • 其他小家族

类别细分如下:

Intel C/C++

watcom C/C++

vectorc

IBM VisualAge for C++

DigitalMars C/C++

KAI C/C++ 4.03f for RedHat 7.2

Lcc4.1

LCC-WIN32

small c

CC386

Pacific c

Intel C/C++

在所有编译器中,目前GCC家族和Visual C++是主流编译器,因此项目的技术选型应尽量选择主流编译器。

构建工具分类

构建工具是将C++源码文件生成可执行文件,目前常用C++构建工具如下所示:

CMake

Make

Ninja

Bazel

每个构建工具说明如下:

  • CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的编译过程;他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
  • Make是一款传统的构建工具,它本身没有编译功能,而是通过调用makefile文件的命令来进行编译和链接
  • Ninja是一个小型的构建系统,专注于速度。它被设计为处理大型软件项目,如Chrome浏览器等,Ninja的主要目标是提供最大的构建速度。
  • Bazel 是一个类似于Make的工具,是Google为其内部软件开发的特点量身定制的工具,如今Google使用它来构建内部大多数的软件。

在上述构建工具中,CMake是使用最普及的构建工具。

至此,我们大致掌握了C++的编译器和构建工具的分类,这样有利于项目开技术选型。

以上就是本次分享的全部内容,想学习更多编程技巧,欢迎持续关注码上去学海南公司!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表