估计有很多人首次都是通过Windows(微软的操作系统)来使用计算机的,Windows的设计导致很多人认为所有程序只要双击一下就可以被正确执行了,所以一大堆初学程序设计的童鞋就会遇到些疑问:

为什么双击之后,程序没有正确执行?

程序怎么黑一下就没有了?

程序怎么跟我说要输入参数?

此文用于说明如何在windows操作系统上正确地执行程序,你也许不知道我再说什么,windows程序执行有啥可说的呢?双击不就行了么?唉,都是被微软的傻瓜式开发弄得我们退化了呀。

说清楚这些问题有很多办法。我们从Windows执行程序的方式说起吧。

Windows上程序的执行方式

据我所知(为了不把话说绝),Windows上执行程序主要有两种方式:一种就是双击;一种是通过命令提示符(cmd)来执行。从操作上来讲,前者需要鼠标,后者可以不需要鼠标。至于双击这种方式,估计才接触windows的人都会使用,所以就不说了。后一种方式怎么用?很简单,首先启动cmd,启动的方法可以有几种,我喜欢:Windows+R组合键,在输入框中输入cmd,敲回车,这样不用鼠标。如下图:

启动cmd之后,比如我想启动记事本编辑一个文件名为demo.txt的文件,可以在cmd中输入:notepad demo.txt 然后敲回车。

上面输入的notepad就是记事本的可执行程序的名字,它存在于Windows系统的PATH目录(系统搜索可执行程序的目录)下,demo.txt是传给notepad的一个参数。

我们自己的程序是如何知道程序的执行参数的

知道怎么用命令行,那我的程序怎么知道接受的参数是什么呢?C/C++的main函数的参数就是解决这个问题的。

看下main函数的标准定义:

int main(int argc, char** argv)
{
  return 0;
}

其中第一个参数argc表示的是我在启动程序时传给操作系统的参数个数,例如notepad demo.txt,argc的值就是2。

第二个参数argv存的是参数的值。例如notepad demo.txt 的argv是 {{"notepad"},{"demo.txt"}}。

大家可以再看看这篇博文,或许会理解的更好点。

http://blog.csdn.net/bendanban/article/details/7623209

最新文章

  1. 【夯实PHP系列】购物车代码说明PHP的匿名函数
  2. linux工具apt、yum和dnf运用
  3. 获取指定版本号svn
  4. $.each 与$().each()
  5. 开放平台-web实现QQ第三方登录
  6. [转载]C#中字典集合的两种遍历
  7. zzzzw_在线考试系统③完结篇
  8. Entity Framework 6.1
  9. Linux指令--mkdir
  10. Android App渗透测试工具drozer,Qark,Androguard
  11. 数据库部分(MySql)_2
  12. java多线程面试题小结
  13. springboot多环境(dev、test、prod)配置
  14. 2^n算法
  15. C-Free 5 安装 [Error] G__~1.EXE: (x86)\C-FREE~1\mingw\mingw32\bin\: No such file or directory
  16. [Guitar self-learning] 基本乐理知识1. 度,升降记号#/b
  17. pgm3
  18. PHP的ISAPI和FastCGI比较
  19. MySql中循环的使用
  20. CShopDialog类

热门文章

  1. [HAOI2007]上升序列
  2. [USACO13OPEN]重力异常
  3. hdu 5700区间交(线段树)
  4. 【Codeforces Round 438 A B C D 四个题】
  5. django rest-framework 4.REST的认证和权限
  6. 使用rsync在windows(服务端)与linux(客户端)之间同步
  7. centos 7 x64 搭建 elasticsearch 服务
  8. 【阿里聚安全·安全周刊】Google“手枪”替换 | 伊朗中央银行禁止加密货币
  9. Luogu P1919 【模板】A*B Problem升级版(FFT快速傅里叶_FFT
  10. AnyConnect使用说明(电脑版Windows)