我是 SDL 的新手,我很好奇为什么 sdl 使用静态和动态库?我的意思是,sdl.dll 中有哪些函数,为什么它是动态链接而不是静态链接的?谢谢。
最佳答案
SDL.dll
包含您从 SDL 使用的所有函数的实现,例如 SDL_Init()
和 SDL_SetVideoMode()
。它是动态链接的,允许使用更新版本直接替换库,而不会破坏与现有应用程序的兼容性——SDL 接口(interface)几乎不会像实现那样经常更改。动态库提供接口(interface)和实现之间的解耦,以动态加载它们为代价:搜索文件,加载它,如果它不可用则提示,等等。
使用动态库的应用程序更加模块化,并且可执行文件往往会保持较小。可以针对 SDL 静态链接,在这种情况下,可执行文件的大小将包括 SDL 库的(适度)大小,并且升级到更新版本的 SDL 将需要重新编译您的应用程序。
关于sdl - SDL.dll 中有什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3650202/