本帖最后由 yingkou 于 2012-12-11 16:08:05 编辑

解决方案 »

  1.   

    out1.txt和out2.txt都是怎么产生的呢?
      

  2.   

    通过dumpbin /rawdata导出的啊
      

  3.   

    链接时 obj文件的排列顺序变了吧
      

  4.   

    这个是可能的,但对于最终生成的EXE有什么影响呢,如何避免呢?
      

  5.   

    dumpbin 产生的内容 不都是 exe 的 内容。
    用 fc /b exe1 exe2 命令试试
      

  6.   

    ncb删除了重新生成然后看看还会有变化?
      

  7.   

    这就是说 从 代码位置 来 看 是 有 不同了。
    但 从内容 看 是不是 不同,可以 用 exeScope(日本人写的)来查查
      

  8.   

    1、这个可以查看的内容有限,没有覆盖全部的EXE内容(属性)
    2、通过这个工具比较的结果是相同的,但通过fc、dumpbin等比较有很多的不同。
      

  9.   

    要看你的对比工具智能到什么程度,
    比如文件1比文件2在中间多了一个字符,是否认为这一个字符之后,都是不同的?
    vc编译器会在结果里面添加时间,所以就算你什么都不动,只是重新编译,也不一样。
    gcc则不会,就算是cpp文件不同,如果仅仅是空格,gcc得到的结果也是完全相同的。
      

  10.   

    有一个基准在这里:PE(EXE)文件格式是固定的,因此采用十六进制比较的话,只会比较出
    该PE文件内同一个部分内的不同,而不会影响其他部分的。