命令行界面編譯運行C/C++程式 2016-10-14 編寫好程式後,就需要對程式進行編譯、執行。很多編譯器都具備集成開發環境(IDE),在開發大型程式時,IDE強大的功能十分有用。然而當程式較小,使用IDE就會非常麻煩。比如,如果用IDE寫一個冒泡排序演算法對一個數組進行排序,就需要新建項目、項目中 ...
命令行界面編譯運行C/C++程式 2016-10-14
編寫好程式後,就需要對程式進行編譯、執行。很多編譯器都具備集成開發環境(IDE),在開發大型程式時,IDE強大的功能十分有用。然而當程式較小,使用IDE就會非常麻煩。比如,如果用IDE寫一個冒泡排序演算法對一個數組進行排序,就需要新建項目、項目中添加源文件、編寫程式、編譯、調試、執行,僅僅是一個簡單的冒泡排序,就需要可能比寫程式更長的時間對IDE進行各種操作。很多PC啟動Visual Studio的時間可能都比較長,這樣使用IDE並不方便。特別是對於C/C++的初學者,只需要關註語言本身,而不是一些開發工具,IDE繁雜的各種菜單功能對使用者是個大麻煩。對此,藉助命令行界面編譯、運行程式就十分方便。
以GCC編譯器為例:
很多朋友的電腦都是Windows,而GCC編譯器是Linux的預設編譯器,使用Windows的朋友如果不想換系統,還想使用功能強大的GCC,可以安裝MinGW(Minimalist GNU for Windows)。
MinGW 4.8.1下載鏈接(百度雲):
鏈接:http://pan.baidu.com/s/1gfJmMXl 密碼:bniv
將壓縮文件解壓至D盤(其他文件目錄也可,僅以D盤為例),添加環境變數” D:\mingw32\bin”。
查看GCC版本,可運行cdm,輸入命令:($為系統提示符)
$ gcc –v
以冒泡排序程式為例,說明命令行界面的使用。
在” D:\myCode\”下建立C++源文件test.cpp(新建TXT文件,更改文件名和尾碼名),用Sublime Text(或者Notepad++、gedit等文本編輯器)打開test.cpp,編寫程式如下:
1 #include <iostream>
2 using namespace std;
3 void bubbleSort(int *arr, int len)
4 {
5 int temp;
6 if (len < 2)
7 return;
8 for (int i = 1; i < len; ++i) {
9 for (int j = 0; j < len - i; ++j) {
10 if (arr[j] > arr[j + 1]){
11 temp = arr[j];
12 arr[j] = arr[j + 1];
13 arr[j + 1] = temp;
14 }
15 }
16 }
17 }
18 int main()
19 {
20 int arr[10] = { 34, 11, 6, 89, 1, 60, 7, 901, 33, 52 };
21 bubbleSort(arr, 10);
22 cout << "Bubble Sort Result:" << endl;
23 for (int i = 0; i < 10; ++i)
24 cout << arr[i] << " ";
25 cout << endl;
26 }
如果程式需要其他自定義頭文件,請將自定義頭文件與源文件放在同一目錄下。
然後在” D:\myCode\”處打開命令視窗,鍵入命令:
$ g++ test.cpp
如果程式沒有錯誤,g++命令會編譯test.cpp程式,生成可執行程式a.exe。如果需要自定義生成可執行文件的文件名,請鍵入命令:
$ g++ test.cpp –o test.exe 或者 $ g++ test.cpp –o test
這樣就會生成可執行程式test.exe。
如果要編譯C語言程式呢? 那麼,將編譯命令的g++替換為gcc即可。
在Windows中查看程式返回狀態命令:
$echo %ERRORLEVEL%
如果生成文件為test.exe,命令行中鍵入命令:$ test.exe 或者$ test,便可運行程式。
另外,如果使用Visual Studio(比如VS2010或者VS2013),編譯命令為:
$ cl/Ehsc test.cpp
該命令會生成可執行程式test.exe。
如何使用編譯器支持的C++11標準呢? 請鍵入命令:
$ g++ test.cpp –std=c++11 或者 $ g++ test.cpp –o test –std=c++11