将旧项目从C ++ Builder 10.2迁移到10.2.3在运行时

时间:2018-05-16 08:49:46

标签: clang c++builder c++builder-10.2-tokyo

我很难将旧的C ++ Builder 10.2项目升级到10.2.3(我们在64位PC上使用Clang编译器,32位应用程序)。

10.2.3安装正常(在干净的Windows 10 PC上), - 项目编译和链接 - 到目前为止每个人都很高兴。

但是,当在调试器中运行应用程序时,我可以看到MainForm的this指针(由于历史原因,一个相当大的对象)在单个方法调用调用中突然变为垃圾(在调用时)它自己的一个方法 - 就在构造函数完成之后)导致一个关键的失败。

我试图为特定方法注释__fastcall调用约定,然后调试器更进一步,但随后__fastcall使用this在下一个方法调用中崩溃指针损坏(我们有1000多个方法使用__fastcall,所以将它们全部注释不是一个选项)。

有没有人知道发生了什么?

一个新的Clang编译器开关,可能吗?

大对象问题?

我还试图在10.2.3中从零开始构建一个全新的项目 - 但没有运气 - 同样奇怪的事情发生了。