在Windows命令行中编译运行C/C++程序
此处运行环境是在Windos下,运行cmd命令进入DOS界面
现在有一段简单C++代码(文件名为 demo.cpp),用于计算a*b的值
#include<iostream> using namespace std; int main(){ int a,b; while(cin>>a>>b){ cout<<a<<"*"<<b<<"="<<a*b<<endl; } return 0; }
demo.cpp文件的位置是在 C:\Users\Administrator\Desktop 目录下
第一步:在DOS界面进入这个目录
第二步:用g++ 加上文件名,注意要加上文件扩展名,这样会生成一个a.exe的可执行文件(Windows默认生成a.exe,Linux默认生成a.out)
因为这里是C++源代码,所以要用g++命令,如果是C语言的源代码,则既可使用g++,也可以使用gcc(或者cc)命令。
第三步:直接输入a.exe并回车, 即可执行由demo.cpp编译链接生成的程序(Linux环境下,则改成 ./a.out 运行程序)
第四步:此时,输入参数即a与b的值,敲击回车之后即可出结果
第五步:使用Ctrl+z终止程序
看了上面的过程,可能你会觉得不方便,
1->生成的可执行文件是a.exe而不是希望得到的demo.exe
2->每一次的每一条测试数据都得手动输入,太过于麻烦
针对问题一:
首先可以将上面的第二步中的g++ demo.cpp添加可选项-o
使用g++ -o demo.exe demo.cpp (或者 g++ -o demo demo.cpp)即可生成demo.exe可运行程序,
如果想命名为test.exe只需g++ -o test demo.cpp (或者 g++ -o test demo.cpp)即可
针对问题二:
运行程序仍可以用demo.exe命令,但是此时还得一条一条的输入测试数据
但为了方便,可以将测试数据事先保存在文本文件(假设为input.txt)里面,
运行的时候直接往里面读取数据即可,注意的是input.txt里面的数据格式要按照demo.exe规定的格式
然后将结果写入另外一个文本文件(假设为output.txt)中,直接查看
使用demo.exe <input.txt> output.txt即可完成以上操作
拓展:
如果你仔细看一下保存源代码的文件夹,你就会发现,当我们用IDE集成环境一键编译运行的时候,会出现 *.o文件,而此时用命令行编译运行没有生成 *.o文件,如果你想要 *.o 文件,那么你就需要在编译的时候添加一个 -c选项,这样就会只生成一个 *.o文件, *.o文件可以抽取出来,做成库文件