【发布时间】:2010-11-16 07:27:31
【问题描述】:
我有 3 台构建机器。一个在 Windows 2000 上运行,一个在 XP SP3 上运行,一个在 64 位 Windows Server 2008 上运行。 我有一个本地 C++ 项目要构建(我正在使用 Visual Studio 2005 SP1 构建)。 我的目标是使用这些构建机器构建“完全相同”的 dll。
我的意思是一点一点(当然除了构建时间戳)。
使用 win2k 和 winxp 我得到相同的 dll。但它们与用win2008服务器构建的dll不同。 我已经设法获得几乎相同的 dll,但存在一些差异。反汇编文件后发现函数顺序不一样(3个函数顺序不同)。
有谁知道这可能是什么原因?
还有一个附带问题: 在 vcbuild.exe 中,我找到了一个开关 /ORDER。它将函数命令文件作为输入。有人知道那个文件应该是什么样子吗?
【问题讨论】:
-
你试过在 32 位兼容模式下运行 VS(或其他任何名称)吗?
-
它必须在 32 位兼容下运行,没有 64 位版本的 Visual Studio AFAIK
-
1. Server 2008 机器是否运行不同的 CPU? (我曾经见过一个类似的问题,AMD 机器产生的输出与 INTEL 略有不同 - 奇怪但真实)。 2. 你检查过安装的更新,看看里面有没有改变任何VS组件?
-
1.是的,这些是不同的处理器,但它们都是英特尔。 2.我很确定我有相同的更新,但为了确定,我今天将重新安装win2008。感谢回复
标签: c++ dll visual-studio-2005 compiler-construction linker