C++ 環境設置
本地環境設置
如果您想要設置 C++ 語言環境,您需要確保電腦上有以下兩款可用的軟體,文本編輯器和 C++ 編譯器。
文本編輯器
這將用於輸入您的程式。文本編輯器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。
文本編輯器的名稱和版本在不同的操作系統上可能會有所不同。例如,Notepad 通常用於 Windows 操作系統上,vim/vi 可用於 Windows 和 Linux/UNIX 操作系統上。
通過編輯器創建的檔通常稱為原始檔案,原始檔案包含程式源代碼。C++ 程式的原始檔案通常使用擴展名 .cpp、.cp 或 .c。
在開始編程之前,請確保您有一個文本編輯器,且有足夠的經驗來編寫一個電腦程式,然後把它保存在一個檔中,編譯並執行它。
C++ 編譯器
寫在原始檔案中的源代碼是人類可讀的源。它需要"編譯",轉為機器語言,這樣 CPU 可以按給定指令執行程式。
C++ 編譯器用於把源代碼編譯成最終的可執行程式。
大多數的 C++ 編譯器並不在乎原始檔案的擴展名,但是如果您未指定擴展名,則默認使用 .cpp。
最常用的免費可用的編譯器是 GNU 的 C/C++ 編譯器,如果您使用的是 HP 或 Solaris,則可以使用各自操作系統上的編譯器。
以下部分將指導您如何在不同的操作系統上安裝 GNU 的 C/C++ 編譯器。這裏同時提到 C/C++,主要是因為 GNU 的 gcc 編譯器適合於 C 和 C++ 編程語言。
安裝 GNU 的 C/C++ 編譯器
UNIX/Linux 上的安裝
如果您使用的是 Linux 或 UNIX,請在命令行使用下麵的命令來檢查您的系統上是否安裝了 GCC:
$ g++ -v
如果您的電腦上已經安裝了 GNU 編譯器,則會顯示如下消息:
Using built-in specs. Target: i386-redhat-linux Configured with: ../configure --prefix=/usr ....... Thread model: posix gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)
如果未安裝 GCC,那麼請按照 http://gcc.gnu.org/install/ 上的詳細說明安裝 GCC。
Mac OS X 上的安裝
如果您使用的是 Mac OS X,最快捷的獲取 GCC 的方法是從蘋果的網站上下載 Xcode 開發環境,並按照安裝說明進行安裝。一旦安裝上 Xcode,您就能使用 GNU 編譯器。
Xcode 目前可從 developer.apple.com/technologies/tools/ 上下載。
Windows 上的安裝
為了在 Windows 上安裝 GCC,您需要安裝 MinGW。為了安裝 MinGW,請訪問 MinGW 的主頁 www.mingw.org,進入 MinGW 下載頁面,下載最新版本的 MinGW 安裝程式,命名格式為 MinGW-<version>.exe。
當安裝 MinGW 時,您至少要安裝 gcc-core、gcc-g++、binutils 和 MinGW runtime,但是一般情況下都會安裝更多其他的項。
添加您安裝的 MinGW 的 bin 子目錄到您的 PATH 環境變數中,這樣您就可以在命令行中通過簡單的名稱來指定這些工具。
當完成安裝時,您可以從 Windows 命令行上運行 gcc、g++、ar、ranlib、dlltool 和其他一些 GNU 工具。
使用 Visual Studio (Graphical Interface) 編譯
1、下載及安裝 Visual Studio Community 2015。
2、打開 Visual Studio Community
3、點擊 File -> New -> Project
4、左側列表選擇 Templates -> Visual C++ -> Win32 Console Application,並設置專案名為 MyFirstProgram。
5、點擊 OK。
6、在以下窗口中點擊 Next
7、在彈出的窗口中選擇 Empty project 選項後,點擊 Finish 按鈕:
8、右擊檔夾 Source File 並點擊 Add --> New Item... :
9、選擇 C++ File 然後設置檔案名為 main.cpp,然後點擊 Add:
10、拷貝以下代碼到 main.cpp 中:
#include <iostream> int main() { std::cout << "Hello World!\n"; return 0; }
介面如下所示:
11、點擊菜單上的 Debug -> Start Without Debugging (或按下 ctrl + F5) :
12、完成以上操作後,你可以看到以下輸出:
g++ 應用說明
程式 g++ 是將 gcc 默認語言設為 C++ 的一個特殊的版本,鏈接時它自動使用 C++ 標準庫而不用 C 標準庫。通過遵循源碼的命名規範並指定對應庫的名字,用 gcc 來編譯鏈接 C++ 程式是可行的,如下例所示:
$ gcc main.cpp -lstdc++ -o main
下麵是一個保存在檔 helloworld.cpp 中一個簡單的 C++ 程式的代碼:
#include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; }
最簡單的編譯方式:
$ g++ helloworld.cpp
由於命令行中未指定可執行程式的檔案名,編譯器採用默認的 a.out。程式可以這樣來運行:
$ ./a.out Hello, world!
通常我們使用 -o 選項指定可執行程式的檔案名,以下實例生成一個 helloworld 的可執行檔:
$ g++ helloworld.cpp -o helloworld
執行 helloworld:
$ ./helloworld Hello, world!
如果是多個 C++ 代碼檔,如 zaixian1.cpp、zaixian2.cpp,編譯命令如下:
$ g++ zaixian1.cpp zaixian2.cpp -o zaixian
生成一個 zaixian 可執行檔。
g++ 有些系統默認是使用 C++98,我們可以指定使用 C++11 來編譯 main.cpp 檔:
g++ -g -Wall -std=c++11 main.cpp
g++ 常用命令選項
選項 | 解釋 |
---|---|
-ansi | 只支持 ANSI 標準的 C 語法。這一選項將禁止 GNU C 的某些特色, 例如 asm 或 typeof 關鍵字。 |
-c | 只編譯並生成目標檔。 |
-DMACRO | 以字串"1"定義 MACRO 宏。 |
-DMACRO=DEFN | 以字串"DEFN"定義 MACRO 宏。 |
-E | 只運行 C 預編譯器。 |
-g | 生成調試資訊。GNU 調試器可利用該資訊。 |
-IDIRECTORY | 指定額外的頭檔搜索路徑DIRECTORY。 |
-LDIRECTORY | 指定額外的函數庫搜索路徑DIRECTORY。 |
-lLIBRARY | 連接時搜索指定的函數庫LIBRARY。 |
-m486 | 針對 486 進行代碼優化。 |
-o | FILE 生成指定的輸出檔。用在生成可執行檔時。 |
-O0 | 不進行優化處理。 |
-O | 或 -O1 優化生成代碼。 |
-O2 | 進一步優化。 |
-O3 | 比 -O2 更進一步優化,包括 inline 函數。 |
-shared | 生成共用目標檔。通常用在建立共用庫時。 |
-static | 禁止使用共用連接。 |
-UMACRO | 取消對 MACRO 宏的定義。 |
-w | 不生成任何警告資訊。 |
-Wall | 生成所有警告資訊。 |