关于我和我的系统的哪些信息编译器会添加到可执行文件中?

时间:2010-04-08 14:48:14

标签: visual-c++ compiler-construction

我目前正在使用Microsoft Visual Studio 2010。

如果我们说我们给10个不同的人一份MSVC 10和一个简短的C ++ Hello,World列表。它们都使用完全相同的设置创建一个新项目,使用Hello,World程序添加一个新的cpp文件并进行编译。

  • 他们都得到完全相同的二进制文件吗?
  • 如果没有,有什么确切的区别?
  • 有关我的系统的哪些信息可以将MSVC添加到我的可执行文件中?

妄想!

3 个答案:

答案 0 :(得分:2)

如果你们每个人都从头创建一个项目,你至少会得到不同的GUID,假设它是需要GUID的项目类型。 GUID是在您创建项目时设置的,因此如果您之一创建项目然后共享项目,则二进制文件将没有区别。 GUID AFAIK中没有可识别的信息。

答案 1 :(得分:1)

即使问题超过一年,也无法回应。

除了已经提到的内容(源路径和指南)之外,大多数可移植可执行文件中还有一个结构,称为Rich Header。

更多详细信息可在以下链接中找到:

http://ntcore.com/files/richsign.htm

http://web17.webbpro.de/index.php?page=microsofts-rich-header

答案 2 :(得分:0)

据我所知,你会得到完全相同的二进制文件......