C# 用C语言创建大型二进制文件的Delta-Diff补丁#
我正在寻找一种创建大型二进制文件(VMWare虚拟磁盘文件)的增量差异修补程序的方法。是否有C#中的实现或.NET框架中的任何有用方法 感谢您的帮助。谢谢C# 用C语言创建大型二进制文件的Delta-Diff补丁#,c#,.net,diff,C#,.net,Diff,我正在寻找一种创建大型二进制文件(VMWare虚拟磁盘文件)的增量差异修补程序的方法。是否有C#中的实现或.NET框架中的任何有用方法 感谢您的帮助。谢谢 rAyt框架中没有内置任何东西可以做到这一点 您将不得不寻找第三方解决方案,商业或免费,或编写自己的解决方案 一种常见的算法是该算法,它被相当多的产品使用。设计用于为二进制文件创建非常小的补丁 正如在其页面上所述,它需要max(17*n,9*n+m)+O(1)字节的内存,并在O((n+m)log n)时间内运行(其中n是旧文件的大小,m是新文
rAyt框架中没有内置任何东西可以做到这一点 您将不得不寻找第三方解决方案,商业或免费,或编写自己的解决方案 一种常见的算法是该算法,它被相当多的产品使用。设计用于为二进制文件创建非常小的补丁 正如在其页面上所述,它需要
max(17*n,9*n+m)+O(1)
字节的内存,并在O((n+m)log n)
时间内运行(其中n
是旧文件的大小,m
是新文件的大小),因此需要很长的时间并使用大量内存为虚拟磁盘文件创建差异
最初的实现是用C语言实现的,但是描述了一个C#端口,并且该端口可用。这里有一个C#类,它实现了Meyers O(ND)差分算法:
享受吧 很抱歉,bsdiff设计用于为可执行文件创建非常小的补丁。如果您有大型二进制文件,而不使用bsdiff,则需要大量内存。