diff winmerge 文件对比算法实践
2008-07-18 14:50
330 查看
参考文章:
http://www.2maomao.com/blog/how-windiff-works-continued-1/
http://www.computerhope.com/fchlp.htm
http://www.ascotti.org/programming/lcs/lcs.htm
http://ftp.gnu.org/pub/gnu/diffutils/
http://svn.collab.net/repos/svn/trunk/subversion/libsvn_diff/lcs.c
http://webtools.live2support.com/windows/fc.php
http://c2.com/cgi/wiki?DiffAlgorithm
http://en.wikipedia.org/wiki/Diff#See_also
http://www.codeproject.com/KB/recipes/vdiff.aspx
http://www.codeproject.com/KB/recipes/diffengine.aspx
http://code.google.com/p/google-diff-match-patch/wiki/API
http://www.angusj.com/delphi/
http://www.mathertel.de/Diff/ViewSrc.aspx
其中字体为绿色的效率比较高。
下面是自己写的bcb代码。
根据http://www.codeproject.com/KB/recipes/vdiff.aspx写的:
http://download.csdn.net/source/541639
根据http://www.mathertel.de/Diff/ViewSrc.aspx写的:
http://download.csdn.net/source/541646
但是以上两种算法在测试10万行代码比较的时候,需要10分钟左右的时间才行,和windows自带的fc命令,winmerge相比,效率太低。
下面介绍一下fc得用法:
time
fc /L /T /N /A 11111.txt 22222.txt > newresult.txt
time
pause
具体可以参见:http://webtools.live2support.com/windows/fc.php或者微软的帮助,
但是这个命令也有问题,比如对比以下两个文件的时候,就有误差。
file1.txt
─────────────────────
void func(){
if(1){
}
if(1){
}
}
void func2(){
if(1){
}
if(1){
}
}
file2.txt
─────────────────────
void func()
{
if(1)
{
}
if(1)
{
}
}
void func2()
{
if(1)
{
}
if(1)
{
}
}
如果是用代码整形的话,比如astyle这样的工具的话,参见:http://download.csdn.net/source/541885
http://www.2maomao.com/blog/how-windiff-works-continued-1/
http://www.computerhope.com/fchlp.htm
http://www.ascotti.org/programming/lcs/lcs.htm
http://ftp.gnu.org/pub/gnu/diffutils/
http://svn.collab.net/repos/svn/trunk/subversion/libsvn_diff/lcs.c
http://webtools.live2support.com/windows/fc.php
http://c2.com/cgi/wiki?DiffAlgorithm
http://en.wikipedia.org/wiki/Diff#See_also
http://www.codeproject.com/KB/recipes/vdiff.aspx
http://www.codeproject.com/KB/recipes/diffengine.aspx
http://code.google.com/p/google-diff-match-patch/wiki/API
http://www.angusj.com/delphi/
http://www.mathertel.de/Diff/ViewSrc.aspx
其中字体为绿色的效率比较高。
下面是自己写的bcb代码。
根据http://www.codeproject.com/KB/recipes/vdiff.aspx写的:
http://download.csdn.net/source/541639
根据http://www.mathertel.de/Diff/ViewSrc.aspx写的:
http://download.csdn.net/source/541646
但是以上两种算法在测试10万行代码比较的时候,需要10分钟左右的时间才行,和windows自带的fc命令,winmerge相比,效率太低。
下面介绍一下fc得用法:
time
fc /L /T /N /A 11111.txt 22222.txt > newresult.txt
time
pause
具体可以参见:http://webtools.live2support.com/windows/fc.php或者微软的帮助,
但是这个命令也有问题,比如对比以下两个文件的时候,就有误差。
file1.txt
─────────────────────
void func(){
if(1){
}
if(1){
}
}
void func2(){
if(1){
}
if(1){
}
}
file2.txt
─────────────────────
void func()
{
if(1)
{
}
if(1)
{
}
}
void func2()
{
if(1)
{
}
if(1)
{
}
}
如果是用代码整形的话,比如astyle这样的工具的话,参见:http://download.csdn.net/source/541885
相关文章推荐
- file-diff.py――文件对比,输出HTML文档
- 让git diff/merge使用meld等GUI对比工具
- python笔记系列:文件内容、文件及文件夹的对比difflib、filecmp
- diff.js 列表对比算法 源码分析
- linux命令(36):vimdiff文件对比
- IBM Rational Synergy 与 SimDiff 的集成,解决“.dml ”文件compare,merge 问题
- FileMerge ——文件对比工具使用
- diff文件对比命令
- 算法第三次作业(1. 排序。对文件 largeW.txt(下载链接)中的数据,编程实现冒泡排序(方法名:bubbleSort) 与 归并排序(mergeSort),把排序后的结果分别保存到largeW
- python 关于git下unix和windows换行符不同导致稍微改动一行代码git diff就是全部文件对比的解决方案
- linux文件对比命令——diff
- 算法---归并排序(Merge Sort)---多版本对比
- Linux下用于对比文件的diff命令使用教程
- git diff:对比working tree、stage、commit文件之间的不同
- 让GIT DIFF/MERGE使用MELD等GUI对比工具
- git diff meld 对比文件修改
- linux下文件对比工具详解(diff、diff3、sdiff、vimdiff和comm)
- MAC系统下的文件对比工具(Diff merge文件对比,文件merge)
- diff.js 列表对比算法 源码分析
- difflib之对比文件差异