编译器

遵循这些教程所需的基本工具是一台计算机和能够编译C++代码 并构建在其上运行的程序的编译器工具链

C++ 是一种多年来不断发展的语言,这些教程解释了该语言最近添加的许多功能。因此,为了正确遵循教程,需要一个最新的编译器。它应支持(即使只是部分)2011 年标准引入的功能。

许多编译器供应商都不同程度地支持这些新功能。请参阅本页底部,了解一些已知支持所需功能的编译器。其中一些是免费的!

什么是编译器?

计算机只能理解一种语言,并且该语言由 1 和 0 组成的指令集组成。这种计算机语言被恰当地称为机器语言

发送给计算机的一条指令可能如下所示:

00000 10011110

允许用户输入两个数字、将两个数字相加并显示总数的特定计算机的机器语言程序可以包括以下机器代码指令:

00000 10011110
00001 11110100
00010 10011110
00011 11010100
00100 10111111
00101 00000000

正如您可以想象的那样,仅使用 1 和 0 直接用机器语言对计算机进行编程非常乏味且容易出错。为了使编程更容易,高级语言被开发出来。高级程序还使程序员更容易检查和理解彼此的程序。

这是用 C++ 编写的代码的一部分,可实现完全相同的目的:

1
2
3
4
5
int a, b, sum;
cin >> a;
cin >> b;
sum = a + b;
cout << sum << endl;

即使您无法真正理解上面的代码,您也应该能够体会到使用 C++ 语言编程比使用机器语言编程要容易得多。

因为计算机只能理解机器语言,而人类希望用高级语言编写,所以高级语言必须在某个时候重新编写(翻译)为机器语言 。这是通过内置于各种编程应用程序中的称为编译器解释器汇编器的特殊程序来完成的。

C++被设计为一种编译语言,这意味着它通常被翻译成系统可以直接理解的机器语言,使得生成的程序非常高效。为此,需要一套工具,称为开发工具链其核心是编译器及其链接器

控制台程序

控制台程序是使用文本与用户和环境进行通信的程序 ,例如将文本打印到屏幕或从键盘读取输入。

控制台程序易于交互,并且通常具有在所有平台上都相同的可预测行为。它们也易于实现,因此对于学习编程语言的基础知识非常有用:这些教程中的示例都是控制台程序。

编译控制台程序的方式取决于您使用的特定工具

对于初学者来说,编译 C++ 程序最简单的方法是使用集成开发环境(IDE)。 IDE通常集成了多种开发工具,包括文本编辑器和直接从中编译程序的工具。

这里有关于如何使用不同的免费集成开发环境 (IDE) 编译和运行控制台程序的说明:

IDE Platform Console programs 控制台程序
Code::blocks 代码::块 Windows/Linux/MacOS 使用 Code::blocks 编译控制台程序
Visual Studio Express Windows 使用 VS Express 2013 编译控制台程序
Dev-C++ 开发C++ Windows 使用Dev-C++编译控制台程序

如果您碰巧拥有具有开发功能的 Linux 或 Mac 环境,您应该能够直接从终端编译任何示例,只需在编译器的命令中包含 C++11 标志即可:

Compiler Platform Command
GCC Linux, among others… Linux 等… g++ -std=c++0x example.cpp -o example_program
Clang OS X, among others… OS X 等… clang++ -std=c++11 -stdlib=libc++ example.cpp -o example_program