我有一个新的 main 函数,我要求链接器在 Visual Studio 中指向它。
我可以正确执行这个函数。但是,我得到的命令行参数不正确。
目前这是我的签名
int NewMain(int argc, const char* argv[])
{
cout << "New Main" << endl;
for (int i = 0; i < argc; ++i)
{
cout << argv[i] << "\n";
}
return 0;
}
但是,当我对标准 main 使用相同的函数时,我得到了所有参数。
最佳答案
当您指定链接器的入口点时,被调用的函数不会传递任何 参数。它的签名是int entrypoint(void);
如果您需要命令行,可以使用 GetCommandLine
检索它。如果您想将其解析为参数,您可以自己这样做,也可以使用 CommandLineToArgvW
- 但请注意,这仅在宽字符版本中可用, 所以如果你想要一个标准的命令行(使用 char
s,而不是 wchar_t
s)你必须自己做。
关于c++ - 如何在 C++ 中访问新主函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13921924/