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,那麼請按照
Mac OS X 上的安裝
如果您使用的是 Mac OS X,最快捷的獲取 GCC 的方法是從蘋果的網站上下載 Xcode 開發環境,並按照安裝說明進行安裝。一旦安裝上 Xcode,您就能使用 GNU 編譯器。
Xcode 目前可從 https://developer.apple.com/download 上下載,需要使用 apple ID 登入 。
Windows 上的安裝
為了在 Windows 上安裝 GCC,您需要安裝 MinGW。為了安裝 MinGW,請訪問 MinGW 的主頁 mingw-w64.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!
如果是多個 C++ 程式碼檔案,如 runoob1.cpp、runoob2.cpp,編譯命令如下:
$ g++ runoob1.cpp runoob2.cpp -o runoob
生成一個 runoob 可執行檔案。
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 | 生成所有警告資訊。 |