在Win7中编译的程序在XP中崩溃(Visual C ++ 6)

时间:2016-04-22 15:57:59

标签: c++ windows windows-7 registry windows-xp-sp2

我有一个相当大的代码库,我已经继承了,而且我现在已经陷入困境了。我在Windows 7(32位)的Visual C ++ 6中工作,但是,我的目标是XP机器(Service Pack 2)。公司没有看到将其升级到.NET的投资回报率,而且我已经获得了与Mini Cooper牵引火车一样多的吸引力。

话虽如此,我确实在我的Win7机器上成功安装了VC ++ 6(没有XP兼容性),我可以编译并运行正常。但是,当我尝试将我的发布版本部署到我的XP机器时,它崩溃了(虽然它在Win7上没有崩溃)。但是,如果我直接在XP机器上构建相同的代码,它将正常工作。在XP兼容模式下在我的Win7机器上运行VC ++ 6会在打开我的工作区时崩溃IDE。

我唯一能想到的是代码广泛使用ActiveX控件和注册表。我不确定是否有一些Win7特定的注册表修改正在进行,反之亦然。然后,我对注册表知之甚少;在编写快乐代码时,我非常习惯在Unix环境中工作,特别是在使用C / C ++进行编码时。

这是我崩溃时遇到的错误的屏幕截图。我成像它与ActiveX注册有关。

enter image description here

1 个答案:

答案 0 :(得分:0)

不,这根本不是ActiveX相关的。这是你的标准,1980年的assert类型。你会注意到,你看过winocc.cpp第279行。