在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文件可以抽取出来,做成库文件
在Windows命令行中编译运行C/C++程序的更多相关文章
- 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)
windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15 作者: 我要评论 http://www.jb51.ne ...
- 在命令行中直接运行带main方法的java
用了很久的java,基本都是交给服务器完成的执行,有page之类的入口,或者是在IDE工具中直接 Run As Java Application. 并且一直对安装java之后配置JAVA_HOME,p ...
- windows命令行中java和javac、javap使用详解(java编译命令)
如题,首先我们在桌面,开始->运行->键入cmd 回车,进入windows命令行.进入如图所示的画面: 可知,当前默认目录为C盘Users文件夹下的Administrator文件夹.一般而 ...
- Windows命令行中使用SSH连接Linux
转自 http://www.linuxidc.com/Linux/2014-02/96625.htm 1.下载: openssh for Winodws: 免费下载地址在 http://linux.l ...
- Windows命令行中pip install jieba,但没有安装到anaconda3中
系统混淆了python3环境下的pip和anaconda3环境下的pip. 找到Anaconda3的Scripts目录,我这里是C:\Users\Diane\Anaconda3\Scripts 将该目 ...
- appium windows 命令行中运行以及targetSdkVersionFromManifest failed的解决
启动appium服务,可以通过appium.exe可执行文件启动,也可以通过命令行启动.appium.exe启动需要通过安装可执行文件,命令行启动需要通过npm安装appium.可执行文件启动方式如下 ...
- 【Java】【转】在命令行中编译和运行java
原文:http://blog.csdn.net/u010900574/article/details/50792353 同时加载编译多个jar包和java文件 在个人平常使用或者当我们把代码部署到Li ...
- 在linux命令行中编译和运行java文件
同时加载编译多个jar包和java文件 在个人平常使用或者当我们把代码部署到linux服务器上的时候,我们经常需要通过命令行编译和运行java文件,网上关于这个的方法大多是通过 javac -cp f ...
- Set JAVA_HOME in windows cmd(在windows 命令行中修改JAVA_HOME)
set JAVA_HOME=jrepathset PATH=%JAVA_HOME%\bin;%PATH%注意这里没有引号.这样就不需要在我的电脑属性中修改java_home了,以及重启命令行了.对于程 ...
随机推荐
- Spark本地运行成功,集群运行空指针异。
一个很久之前写的Spark作业,当时运行在local模式下.最近又开始处理这方面数据了,就打包提交集群,结果频频空指针.最开始以为是程序中有null调用了,经过排除发现是继承App导致集群运行时候无法 ...
- 关于使用spring mvc前后端上传数据日期格式
前端页面传入数据到后台,String,int等等类型都很友好,但是Date类型不能直接上传到服务器.否则会报异常
文章摘自http://blog.sina.com.cn/s/blog_4aca42510102v5l2.html Mysql目前主要有以下几种索引方式:FULLTEXT,HASH,BTREE,RTRE ...
- Java集合实现类区别与联系
ArrayList和LinkList相同点和区别: 共性: 都实现了List接口,都是list的实现类,处理list集合操作. 区别: ArrayList:底层存储结构是数组,每个元素都有index标 ...
- nargin与varargin的用法
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能.通常可以用它来设定一些默认值.如下例所示: 函数文件 examp.m function fout=examp(a,b, ...
- MATLAB——BP网络的设计
- python基础学习第二天
读文件 r 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符 写文件 w 写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符’w’或者’w ...
- java 日期与时间类
1.Date类: https://www.cnblogs.com/huangminwen/p/5994927.html 2.DateFormat和SimpleDateFormat (simple简单 ...
- 如何从现有版本1.4.8升级到element UI2.0.11
现在的项目是定死的依赖以下几个核心组件的版本: vue 2.3.3 element-ui 1.4.8 vue-template-comiler 2.3.3 将以前定死的依赖修改为 vue ^2.3.3 ...