0

我想将 SDL_net 用于少数程序将使用的帮助程序库。但是,其中一些程序本身可能已经在使用 SDL。如果我理解正确,这意味着我不能在初始化/释放我的库时盲目使用SDL_InitSDL_Quit,因为 SDL 实例在主程序和我的库之间共享。

到目前为止,我最好的想法是让程序传递一个参数,指示它是否已经在使用 SDL,这将使程序首先负责调用 SDL_Init。我想知道是否有更清洁的解决方案。SDL_WasInit看起来很有希望,但显然只允许检查已初始化的子系统,而不是 SDL 本身是否已初始化(可以使用 完成SDL_Init(0))。

这是关于 SDL 1.2。

4

1 回答 1

0

SDL_WasInit()可用于检查特定子系统是否正在运行,通过类似的检查SDL_WasInit(SDL_INIT_VIDEO) != 0但 SDL_WasInit() 上的SDL 文档也说如果您传入SDL_WasInit(SDL_INIT_EVERYTHING) != 0or SDL_WasInit(0) != 0,这将让您知道 SDL 的任何子系统是否正在运行。

于 2012-05-30T21:53:50.517 回答