我想将SDL_net用于将由少数程序使用的帮助程序库。但是,其中一些程序可能已经在使用SDL。如果我解决问题,这意味着在初始化/释放我的库时我不能盲目地使用SDL_Init
和SDL_Quit
,因为SDL实例在主程序和我的库之间共享。
到目前为止,我最好的想法是让程序传递一个参数,指示它是否已经在使用SDL,这将使程序首先负责调用SDL_Init。我想知道是否有更清洁的解决方案。 SDL_WasInit
看起来很有希望,但显然只允许检查已初始化的子系统,而不是SDL本身是否已初始化(可能使用SDL_Init(0)
完成)。
这是关于SDL 1.2。
答案 0 :(得分:0)
SDL_WasInit()
可用于通过SDL_WasInit(SDL_INIT_VIDEO) != 0
之类的检查检查特定子系统是否正在运行,但SDL_WasInit()上的SDL docs也表示如果传入{{1} }或SDL_WasInit(SDL_INIT_EVERYTHING) != 0
,这将告诉您SDL的任何子系统是否正在运行。