提问人:user1675016 提问时间:11/17/2023 最后编辑:genpfaultuser1675016 更新时间:11/17/2023 访问量:45
SDL2:单击控制台窗口后调用 cout 会导致冻结
SDL2: Calling cout after Clicking console window causes Freeze
问:
使用 SDL2.如果我在 Visual Studio 中测试运行(使用 Subsystem:Console,因此控制台也会显示),然后单击控制台窗口,然后单击返回 SDL 窗口,并在 SDL_PollEvent 循环中调用 cout,程序将冻结。
例如
if (ev.type == SDL_KEYDOWN)
{
if (ev.key.keysym.sym == SDLK_SPACE)
{
//causes an immediate freeze
std::cout << "space pressed" << std::endl;
}
}
它可以是另一种类型的事件,例如SDL_MOUSEBUTTONDOWN事件,但似乎单击控制台窗口,然后返回 SDL 主窗口,然后调用 cout,会以某种方式触发此事件。单击另一个窗口(如 Visual Studio)不会导致这种情况发生。
有谁知道为什么会发生这种情况,以及我如何缓解这个问题?
答: 暂无答案
评论