在不同时间从同一来源编译的2个可执行文件是否具有相同的MD5SUM?
我一直在使用艺术风格评估自动代码格式。
我做的一个测试是:
我的理论是,如果代码没有功能变化,MD5SUM应匹配,但MD5SUM不匹配。我的假设是否有问题,或者运行ArtisticStyle(应该只改变Whitespace)会导致我的可执行文件出现语义差异?
编辑:如果MD5Sums不起作用,有人可以推荐一种方法来“证明”这两个可执行文件是等效的吗?
答案 0 :(得分:2)
二进制文件可能至少包含不同的时间戳。所以,不,来自相同代码库的两个后续构建很可能会产生不同的二进制文件。功能相同,最可能相同的大小甚至相同的代码,但md5总和不匹配。
答案 1 :(得分:1)
您要证明的是,这两者在功能上是等效的,因此您需要使用二进制diff实用程序查看二进制文件中的每个更改。这将是一个手动验证,但如果您发现差异本质上很小并且时间戳与Dmitry指出相关,那么您可以提出索赔。