SDL_Log 似乎不支持 %g 和 %e 说明符
SDL_Log doesn't seem to support %g and %e specifiers
我在 Visual Studio 2013 中使用 SDL 2.0.12,我看到了这个:
SDL_Log("%f", 1.0); // fine
SDL_Log("%g", 1.0); // no luck; prints blank line
我需要切换到 newer/older 版本的 SDL 还是什么?
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,但您可以自己添加(并提交拉取请求)。
我在 Visual Studio 2013 中使用 SDL 2.0.12,我看到了这个:
SDL_Log("%f", 1.0); // fine
SDL_Log("%g", 1.0); // no luck; prints blank line
我需要切换到 newer/older 版本的 SDL 还是什么?
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,但您可以自己添加(并提交拉取请求)。