jdl*_*jdl 6 c debugging commandargument visual-studio-2017
VS 没有使用我传入的“命令参数”运行。我做错了什么?
尝试在 Visual Studio 中使用“命令参数”。
我把它分解成一个简单的 C 语言小 ConsoleApplication 程序。
#include "pch.h"
#include <iostream>
int main(int argc, char *argv[])
{
printf("\nargv: ");
for (int i = 0; i < argc; i++)
{
printf(" %s", argv[i]);
}
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
然后我设置“命令参数”:项目:属性:调试:“命令参数”:妈妈
我点击了 RUN 按钮并显示了它(我的参数没有传入):
argv: C:\Users\jack\source\repos\ConsoleApplication45\Debug\ConsoleApplication45.exe
C:\Users\jack\source\repos\ConsoleApplication45\Debug\ConsoleApplication45.exe (process 1812) exited with code 0.
To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
Press any key to close this window . . .
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行时,我得到(按我希望的方式使用传入的参数工作:“妈妈”):
C:\Users\jack\source\repos\ConsoleApplication45\Debug>ConsoleApplication45.exe mom
argv: ConsoleApplication45.exe mom
C:\Users\jack\source\repos\ConsoleApplication45\Debug>
Run Code Online (Sandbox Code Playgroud)
感谢您提供链接 Jean-François Fabre:
是的,我必须从 x86 更改为 x64。
如https://social.msdn.microsoft.com/Forums/vstudio/en-US/4097114c-8678-46bb-ba3b-7a2da8514efc/visual-studio-2017-not-passing-command-line-arguments-to中所述-the-application?forum=vsdebug ,当您需要为其他 CPU 设置参数时,您仅为 x64 目标设置参数。
您可能正在运行 x86,其中参数为空。
最好的方法是将它们设置为“任何 CPU”,因为根据您的目标处理器,它不太可能有所不同。
| 归档时间: |
|
| 查看次数: |
9122 次 |
| 最近记录: |