如何访问参数在C ++新的主要功能?(How do I access arguments for a

2019-10-30 19:34发布

我有我要求链接器指向在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;
    }

然而,当我使用相同的功能与标准的主,我得到的所有参数。

Answer 1:

当您指定的入口点链接器,被调用函数不传递任何参数。 它的签名是int entrypoint(void);

如果你想在命令行中,你可以检索GetCommandLine 。 如果你想解析成参数,你可以这样做你自己,或者使用CommandLineToArgvW -但请注意,这仅仅是一个宽字符版本,所以如果你想有一个标准的命令行(使用char S,不wchar_t )你必须做你自己。



Answer 2:

从MSDN一个社区的插件:

自定义入口点函数命令行参数
这是不可能的,因为当你指定这样的入口点mainCRTStartup不再称为指定命令行参数自定义的切入点,从而不提供切入点,用命令行参数,如int argc和字符* argv的[] 。

http://msdn.microsoft.com/en-us/library/f9t8842e%28v=vs.80%29.aspx



文章来源: How do I access arguments for a new Main Function in C++?