【发布时间】:2021-11-11 22:35:03
【问题描述】:
我将 SDL 2.0.12 与 Visual Studio 2013 一起使用,我看到了:
SDL_Log("%f", 1.0); // fine
SDL_Log("%g", 1.0); // no luck; prints blank line
我需要切换到新/旧版本的 SDL 吗?
【问题讨论】:
标签: c++ visual-c++ sdl sdl-2
我将 SDL 2.0.12 与 Visual Studio 2013 一起使用,我看到了:
SDL_Log("%f", 1.0); // fine
SDL_Log("%g", 1.0); // no luck; prints blank line
我需要切换到新/旧版本的 SDL 吗?
【问题讨论】:
标签: c++ visual-c++ sdl sdl-2
SDL_Log 代表SDL_vsnprintf。有三种可能:
#if defined(HAVE_LIBC) && defined(__WATCOMC__)
这似乎检查了 Watcom C 编译器。不适合你。
#elif defined(HAVE_VSNPRINTF)
如果该符号是在编译时定义的,则此案例将委托给您的编译器对 vsnprintf 的实现。 VS2015 似乎有 %g 说明符,我假设 VS2013 也是如此。您可以自己检查一下。
#else
我认为您处于这种情况。
这使用 SDL 中的自定义实现。这确实是lacks support for the %g modifier,但您可以自己添加(并提交拉取请求)。
【讨论】: