検索

ホームページ  >  に質問  >  本文

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

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

ringa_leeringa_lee2768日前566

全員に返信(2)返信します

  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:00:11

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

    返事
    0
  • 黄舟

    黄舟2017-04-17 14:00:11

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

    xxx.exe -param1 param2 /param3

    返事
    0
  • キャンセル返事