重要的事情说三遍:
要跟随这些教程,所需的基本工具是一台计算机和一个能够编译C++代码并构建可运行程序的编译器工具链。
C++是一门多年来不断演进的语言,这些教程解释了最近添加的许多特性。因此,为了正确地跟随这些教程,需要一个最近版本的编译器。它应支持(即使只是部分支持)2011标准以上引入的特性。
什么是编译器?
计算机只能理解一种语言,这种语言由由一和零组成的指令集构成。这种计算机语言被恰当地称为机器语言。
计算机的一条指令可能如下所示:
00000 | 10011110 |
---|
一个允许用户输入两个数字、将两个数字相加并显示总和的计算机机器语言程序可能包含这些机器代码指令:
00000 | 10011110 |
---|---|
00001 | 11110100 |
00010 | 10011110 |
00011 | 11010100 |
00100 | 10111111 |
00101 | 00000000 |
可以想象,直接用一和零编写机器语言程序是非常繁琐且容易出错的。为了简化编程,高级语言被开发出来。高级程序也使得程序员更容易检查和理解彼此的程序。这是一段用C++编写的代码,完成了相同的目的:
int a, b, sum;
cin >> a;
cin >> b;
sum = a + b;
cout << sum << endl;
即使你不完全理解上面的代码,你也应该能够体会到用C++语言编程比用机器语言编程要容易得多。
由于计算机只能理解机器语言,而人类希望用高级语言编写程序,因此高级语言必须在某些时候被重新编写(翻译)成机器语言。这是通过内置于各种编程应用程序中的特殊程序(如编译器、解释器或汇编器)来完成的。
C++被设计成一种编译语言,这意味着它通常被翻译成可以被系统直接理解的机器语言,从而使生成的程序高度高效。为此,需要一组工具,称为开发工具链,其核心是编译器及其链接器。
控制台程序
控制台程序是使用文本与用户和环境通信的程序,例如向屏幕打印文本或从键盘读取输入。
控制台程序易于交互,并且通常在所有平台上都具有一致的行为。它们也易于实现,因此对于学习编程语言的基础知识非常有用:这些教程中的示例都是控制台程序。
编译控制台程序的方法取决于你使用的具体工具。
对于初学者来说,编译C++程序的最简单方法是使用集成开发环境(IDE)。IDE通常集成了多个开发工具,包括文本编辑器和直接从中编译程序的工具。
以下是使用不同的免费集成开发环境(IDE)编译和运行控制台程序的说明:
IDE | 平台 | 控制台程序编译指南 |
---|---|---|
Code::blocks | Windows/Linux/MacOS | 使用Code::blocks编译控制台程序 |
Visual Studio Express | Windows | 使用VS Express 2013编译控制台程序 |
Dev-C++ | Windows | 使用Dev-C++编译控制台程序 |
如果你恰好有一个带有开发功能的Linux或Mac环境,你应该能够直接从终端编译任何示例,只需在编译器命令中包含C++11标志:
编译器 | 平台 | 命令 |
---|---|---|
GCC | Linux等 | g++ -std=c++0x example.cpp -o example_program |
Clang | OS X等 | clang++ -std=c++11 -stdlib=libc++ example.cpp -o example_program |