我使用的库可以处理与游戏开发相关的各种任务。它带有一个用于静态链接和动态链接的编译库文件。请原谅我的近视,但我问,为什么有人会在静态库上使用DLL时两者都可用?如果使用DLL,似乎这可能会引入各种程序,例如错误放置,丢失的DLL,并且这使得软件的分发不太方便。理论上它也可以增加程序的加载时间。我看到使用DLL的唯一实际好处是可能多个程序可以使用这些库,从而减少了程序的大小。
答案 0 :(得分:2)
你是对的,可以在多个程序之间共享DLL。以kernel32.dll为例,它被加载到每个用户模式的Windows应用程序中。 Windows可以在所有正在运行的应用程序之间共享kernel32.dll的内存页面,但如果它已经静态链接,则每个应用程序都会有相同代码页的重复副本。
Microsoft在此处简要概述了使用DLL的好处: http://msdn.microsoft.com/en-us/library/windows/desktop/ms681938(v=vs.85).aspx
答案 1 :(得分:1)
THIS->
......从而缩小了节目的规模。
它还允许第三方更新/修复功能,而无需重新编译或发布相关软件。哪个更重要......