我可以使用 WinMerge 来比较 *.class 文件吗?

Ron*_*onK 4 winmerge

我曾经使用过BeyondCompare它,它能够*.class通过在比较之前将其配置为运行反编译器来比较文件。

有类似的东西WinMerge吗?或者一个可以代替它的插件?

Way*_*oda 8

我花了一天时间为 Winmerge 编写一个 DLL 插件来做到这一点 - 这不是世界上最伟大的事情,但它完成了工作。

获取文件名,将其拆分为目录和类名,然后为每个类文件调用 javap。不幸的是,它相当慢(我会说是 javap 的错)。

我把 DLL 放在这里:

https://www.dropbox.com/s/6hywu64zzj248t1/displayclassfiles.dll?dl=1

绝对没有许可证、保修等。也没有特洛伊木马或病毒。我将开始清理源代码并将其放在某个地方(可能与 winmerge 项目人员一起)。

在您的 winmerge 可执行文件所在的位置创建一个“MergePlugins”目录,并将 dll 放在那里。它在 *.class 文件上自动激活。

最难的部分是研究如何启动 javap,windows 编程实在是太糟糕了。

如果 winmerge 在解压缩文件之前比较文件以查看它们是否不同,那就太好了 - 这会节省一些时间。也许这可以在插件中以某种方式完成,但正如我所说,我真的只是尽可能快地将其破解。

哦,我应该提到你的路径上需要 javap。

编辑:源代码在这里:https : //www.dropbox.com/s/gberx85pdcdlor2/unpackjavaclassfiles%20source.7z?dl =1使用 Visual Studio 2005 构建 - 改编自 DisplayBinaryFiles 插件,该插件可用于 winmerge 源包。