VS调试C++工程时__wargv的值和双击运行exe程序时的值不一样?

发布于 2022-09-03 01:15:46 字数 276 浏览 20 评论 0

经过查阅资料,C++中的__wargv值是命令行参数。
VS中设置命令行参数的方法是,项目——属性——配置属性——调试——命令参数,设置命令参数就可以传入。
VS调试时,__wargv值为设置的参数。而双击运行该程序的exe文件时,__wargv值却只是exe文件的路径,并没有我在VS项目中设置的值。
请问,双击运行exe是不会传入命令行参数吗,VS生成exe文件的同时不会生成命令行参数设置的相关文件?
经搜索引擎搜索,没有查找到双击运行exe和VS调试时命令行参数的区别。各位大神如有相关资料,望告知。跪谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独木成林 2022-09-10 01:15:46

你的exe程序运行时若需要传入参数的话,那就不能双击运行,而应该在cmd控制台里指定参数。
比如你的程序名为test.exe,需传入参数"-c",那么你在cmd里进入test.exe所在路径下,输入命令
test.exe -c回车,就可以带参数运行你的程序了

浮生面具三千个 2022-09-10 01:15:46

双击运行的时候vs并没有处于调试状态下,当然不会有参数了。
正确的做法是创建一个快捷方式,然后target里写上

xxx.exe -param1 param2 /param3
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文