当入口函数不是 main,而是 _tWinMain 等 Windows 相关的入口函数时,程序默认不会分配控制台窗口,直接使用 std::cout 输出是无效的。
通过以下代码可以手动分配一个控制台窗口,并将标准输入/输出/错误重定向到该窗口,从而正常使用 std::cout 进行输出。
AllocConsole();
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
AppDelegate app;
Application::getInstance()->run();
FreeConsole();