【发布时间】:2016-01-20 16:03:45
【问题描述】:
我想问一下应用程序更新是如何工作的。我不明白!我给你举个 GTA V 的例子。
当 Rockstar 发布补丁或更新时,他们如何在不重新下载整个 GB/MB 或重新编译的情况下更新代码?更新后即可轻松开始游戏。
我在其他游戏中看到了类似的方法。他们修改了例如 2MB 的代码,而更新程序只下载了 2MB。修改后的代码无需重新编译即可进入游戏......我是愚蠢的还是为什么我不明白它是如何工作的? ...我的意思是,如果有一个 50MB 大的 .DLL 文件并且 devoloper 只编辑了 1 行,更新程序不会再次下载 50MB,相反它只会获取 1 个编辑的行,是的...它在._.*...
【问题讨论】:
-
部分代码拼凑而成。除非它只是可执行文件,否则程序正在更新 dll 等等。这是很多小工作,补丁(他们所谓的)他们只是更新某个mission1.dll或其他什么,或者库文件中的新武器,你会在几分钟内得到一个完整的更新。可执行文件只是一个类似框架的东西,它了解如何生成 dll 和其他文件中的内容。
-
另外,还有十六进制编辑。他们可以不进行大小检查,或在配置中更新它。这将允许在几行代码中使用新武器等。
-
感谢您的回答!那么,完美的方法是制作碎片吗?例如 dll/weapons.dll、clothing.dll、vehicles.dll、physics.dll?或者我应该怎么理解。
-
不,你明白了。没有什么神奇的事情发生。他们甚至可能拥有用于代码行的主要可用空间,以便将来验证 dll 中的更新。因为他们必须符合标准。保留一个空数组可以允许使用新武器。
-
哦!现在,谢谢!非常感谢。有用的答案,我明白了:D
标签: updates binaryfiles patch updating