This关于命令行UWP应用的博客文章说:“可执行文件是您的UWA应用EXE的名称,而EntryPoint是您的App类的完全限定名称。”
这对C#应用程序有意义,但是C++/WinRT console UWP app template又如何呢?我们唯一的代码是:
int main()
{
// You can get parsed command-line arguments from the CRT globals.
wprintf(L"Parsed command-line arguments:\n");
for (int i = 0; i < __argc; i++)
{
wprintf(L"__argv[%d] = %S\n", i, __argv[i]);
}
wprintf(L"Press Enter to continue:");
getchar();
}
最主要的话说:
...
<Application Id="App"
Executable="$targetnametoken$.exe"
EntryPoint="UWPConsoleApp.App"
...
我将项目称为UWPConsoleApp,这就是VS设置的入口点,但是此类在哪里?编译器会生成它吗,是一些由宏控制的晦涩的vcruntime初始化代码还是完全不同的东西?
答案 0 :(得分:4)
这些清单值基本上在这里未使用,因此不必担心。 C ++ / CX与C ++ / WinRT的Package.appxmanifest
没有什么区别。
启动差异在于您的代码入口点:
// C++/CX
[Platform::MTAThread]
int __cdecl main(Platform::Array<Platform::String^>^ /*argv*/)
{
auto viewProviderFactory = ref new ViewProviderFactory();
CoreApplication::Run(viewProviderFactory);
return 0;
}
vs。
// C++/WinRT
int WINAPI wWinMain(
_In_ HINSTANCE /*hInstance*/,
_In_ HINSTANCE /*hPrevInstance*/,
_In_ LPWSTR /*lpCmdLine*/,
_In_ int /*nCmdShow*/
)
{
ViewProviderFactory viewProviderFactory;
CoreApplication::Run(viewProviderFactory);
return 0;
}