c++ - 如何在 C++ 中访问新主函数的参数?

标签 c++ visual-studio visual-c++ linker visual-studio-2010

我有一个新的 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 - 但请注意,这在宽字符版本中可用, 所以如果你想要一个标准的命令行(使用 chars,而不是 wchar_ts)你必须自己做。

关于c++ - 如何在 C++ 中访问新主函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13921924/

相关文章:

c++ - 为什么我应该使用 std::async?

c++ - 奇怪的 VS 名称修改行为?

c++ - 错误 C2360 : Initialization of 'hdc' is skipped by 'case' label

c++ - c 在这两种情况下如何工作以及有什么区别

c++ - Windows 上的静态链接 OpenGL 库

c++ - C/C++ 编译器对运算符优先级/求值有多严格?

visual-studio - msbuild 可以为多个平台创建 .appxbundle 吗?

visual-studio - WIX:显示对话框的条件如何与 VS2010_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED 等属性一起使用?

asp.net - Visual Studio 选项变灰了吗?

c++ - 当内部范围不起作用时,为什么编译器不采用 namespace 名称?