问题描述
经过查阅资料,C++中的__wargv值是命令行参数。VS中设置命令行参数的方法是,项目——属性——配置属性——调试——命令参数,设置命令参数就可以传入。VS调试时,__wargv值为设置的参数。而双击运行该程序的exe文件时,__wargv值却只是exe文件的路径,并没有我在VS项目中设置的值。请问,双击运行exe是不会传入命令行参数吗,VS生成exe文件的同时不会生成命令行参数设置的相关文件?经搜索引擎搜索,没有查找到双击运行exe和VS调试时命令行参数的区别。各位大神如有相关资料,望告知。跪谢。
问题解答
回答1:你的exe程序运行时若需要传入参数的话,那就不能双击运行,而应该在cmd控制台里指定参数。比如你的程序名为test.exe,需传入参数'-c',那么你在cmd里进入test.exe所在路径下,输入命令test.exe -c回车,就可以带参数运行你的程序了
回答2:双击运行的时候vs并没有处于调试状态下,当然不会有参数了。正确的做法是创建一个快捷方式,然后target里写上
xxx.exe -param1 param2 /param3