我有我要求链接器指向在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;
}
然而,当我使用相同的功能与标准的主,我得到的所有参数。
当您指定的入口点链接器,被调用函数不传递任何参数。 它的签名是int entrypoint(void);
如果你想在命令行中,你可以检索GetCommandLine
。 如果你想解析成参数,你可以这样做你自己,或者使用CommandLineToArgvW
-但请注意,这仅仅是一个宽字符版本,所以如果你想有一个标准的命令行(使用char
S,不wchar_t
)你必须做你自己。
从MSDN一个社区的插件:
自定义入口点函数命令行参数
这是不可能的,因为当你指定这样的入口点mainCRTStartup不再称为指定命令行参数自定义的切入点,从而不提供切入点,用命令行参数,如int argc和字符* argv的[] 。
http://msdn.microsoft.com/en-us/library/f9t8842e%28v=vs.80%29.aspx