命令行界面编译运行C/C++程序

命令行界面编译运行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版本,可运行cmd,输入命令:($为系统提示符)

    $ 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,便可运行程序。

 

MinGW命令行编译运行程序

 

  另外,如果使用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

 

posted @ 2016-10-14 16:33  扬帆入海  阅读(7827)  评论(0编辑  收藏  举报