我目前使用的是 Microsoft Visual Studio 2010。
如果我们说我们给 10 个不同的人一份 MSVC 10 的副本和一个简短的 C++ Hello, World 清单。他们都使用完全相同的设置创建一个新项目,添加一个包含 Hello, World 程序的新 cpp 文件并编译它。
偏执狂!
如果您每个人都从头开始创建一个项目,那么您至少会获得不同的 GUID(假设它是需要 GUID 的项目类型)。 GUID 是在您创建项目时设置的,因此如果其中一人创建了该项目然后共享该项目,则二进制文件不会有任何差异。 GUID AFAIK 中没有可识别信息。
即使这个问题已经一年多了,我还是忍不住回答。
除了已经提到的内容(源路径和 GUID)之外,大多数可移植可执行文件中还存在一种称为丰富标头的结构。
更详细的信息可以在以下链接找到:
http://ntcore.com/files/richsign.htm
http://web17.webbpro.de/index.php?page=microsofts-rich-header
据我所知,你会得到完全相同的二进制文件......