編譯器
C++ 是一種經過多年發展的語言,這些教程解釋了最近添加到該語言中的許多特性。因此,為了正確遵循教程,需要最新的編譯器。它應支持(即使只是部分)2011 標準引入的功能。
許多編譯器供應商在不同程度上支持新特性。有關已知支持所需功能的一些編譯器,請參閱本頁底部。其中一些是免費的!
如果由于某種原因,您需要使用一些較舊的編譯器,您可以在此處訪問這些教程的較舊版本(不再更新)。
什么是編譯器?
計算機只能理解一種語言,而這種語言由一組由 1 和 0 組成的指令組成。這種計算機語言被恰當地稱為機器語言。對計算機的一條指令可能如下所示:
00000 | 10011110 |
允許用戶輸入兩個數字、將兩個數字相加并顯示總數的特定計算機的機器語言程序可能包括以下機器代碼指令:
00000 | 10011110 |
00001 | 11110100 |
00010 | 10011110 |
00011 | 11010100 |
00100 | 10111111 |
00101 | 00000000 |
您可以想象,僅使用 1 和 0 直接用機器語言對計算機進行編程非常繁瑣且容易出錯。為了使編程更容易,已經開發了高級語言。高級程序還使程序員更容易檢查和理解彼此的程序。
這是用 C++ 編寫的代碼的一部分,用于實現完全相同的目的:
1234567 | inta, b, sum; cin >> a; cin >> b; sum = a + b; cout << sum << endl; |
即使你不能真正理解上面的代碼,你也應該能夠體會到用 C++ 語言編程比用機器語言編程要容易得多。
因為計算機只能理解機器語言,而人類希望用高級語言編寫高級語言,所以必須在某些時候將高級語言重新編寫(翻譯)成機器語言。這是通過內置在各種編程應用程序中的稱為編譯器、解釋器或匯編器的特殊程序來完成的。
C++被設計成一種編譯型語言,也就是說它一般被翻譯成系統可以直接理解的機器語言,使得生成的程序非常高效。為此,需要一組工具,稱為開發工具鏈,其核心是編譯器及其鏈接器。
控制臺程序
控制臺程序是使用文本與用戶和環境進行通信的程序,例如將文本打印到屏幕或從鍵盤讀取輸入。控制臺程序易于交互,并且通常具有在所有平臺上相同的可預測行為。它們也很容易實現,因此對于學習編程語言的基礎知識非常有用:這些教程中的示例都是控制臺程序。
編譯控制臺程序的方式取決于您使用的特定工具。
初學者編譯 C++ 程序的最簡單方法是使用集成開發環境 (IDE)。IDE 通常集成多個開發工具,包括文本編輯器和直接從中編譯程序的工具。
這里有關于如何使用不同的免費集成開發接口 (IDE) 編譯和運行控制臺程序的說明:
IDE | 平臺 | 控制臺程序 |
---|---|---|
代碼::塊 | Windows/Linux/MacOS | 使用 Code::blocks 編譯控制臺程序 |
Visual Studio 速成版 | 視窗 | 使用 VS Express 2013 編譯控制臺程序 |
開發-C++ | 視窗 | 使用 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 |