预计有非常多人首次都是通过Windows(微软的操作系统)来使用计算机的。Windows的设计导致非常多人觉得全部程序仅仅要双击一下就能够被正确运行了,所以一大堆初学程序设计的童鞋就会遇到些疑问:
为什么双击之后,程序没有正确运行?
程序怎么黑一下就没有了?
程序怎么跟我说要输入參数?
此文用于说明怎样在windows操作系统上正确地运行程序,你也许不知道我再说什么。windows程序运行有啥可说的呢?双击不即可了么?唉。都是被微软的傻瓜式开发弄得我们退化了呀。
说清楚这些问题有非常多办法。我们从Windows运行程序的方式说起吧。
Windows上程序的运行方式
据我所知(为了不把话说绝),Windows上运行程序主要有两种方式:一种就是双击;一种是通过命令提示符(cmd)来运行。从操作上来讲,前者须要鼠标,后者能够不须要鼠标。至于双击这样的方式。预计才接触windows的人都会使用。所以就不说了。后一种方式怎么用?非常easy,首先启动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