命令行界面編譯運行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