C# 用C语言创建大型二进制文件的Delta-Diff补丁#

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是新文

我正在寻找一种创建大型二进制文件(VMWare虚拟磁盘文件)的增量差异修补程序的方法。是否有C#中的实现或.NET框架中的任何有用方法

感谢您的帮助。谢谢


rAyt

框架中没有内置任何东西可以做到这一点

您将不得不寻找第三方解决方案,商业或免费,或编写自己的解决方案

一种常见的算法是该算法,它被相当多的产品使用。

设计用于为二进制文件创建非常小的补丁

正如在其页面上所述,它需要
max(17*n,9*n+m)+O(1)
字节的内存,并在
O((n+m)log n)
时间内运行(其中
n
是旧文件的大小,
m
是新文件的大小),因此需要很长的时间并使用大量内存为虚拟磁盘文件创建差异

最初的实现是用C语言实现的,但是描述了一个C#端口,并且该端口可用。

这里有一个C#类,它实现了Meyers O(ND)差分算法:


享受吧

很抱歉,bsdiff设计用于为可执行文件创建非常小的补丁。如果您有大型二进制文件,而不使用bsdiff,则需要大量内存。