在SDL 2中重定向输出

cyb*_*ind 4 sdl sdl-2

我在项目中使用SDL库,并且在Windows平台上工作。

当我决定将项目移至SDL 2时,遇到了一个问题:

SDL 1.2中有一个选项,可以将输出从stdout / stderr打印到控制台窗口中,而不是通过定义NO_STDIO_REDIRECT宏到文件中。但是,我尚未在SDL 2中找到该宏。

有没有办法将SDL 2输出打印到控制台而不是标准文件?

sky*_*ack 6

我怀疑这NO_STDIO_REDIRECT不再是SDL2的一部分。

您应该改用SDL_Log其他所有相关功能来记录应用程序中的消息。
然后,您可以使用SDL_LogSetOutputFunction

用您自己的之一替换默认的日志输出功能

请注意,您可以优雅地处理任何给定的类别或优先级,它们是以下处理程序的原型:

void SDL_LogOutputFunction(void*           userdata,
                           int             category,
                           SDL_LogPriority priority,
                           const char*     message)
Run Code Online (Sandbox Code Playgroud)

请参阅链接的文档以获取更多详细信息。

  • @cybermind您说得对,有时我会尝试回答一些未解决的老问题。即使对您来说为时已晚,新手也会从这些答案中受益。;-) (4认同)