这有点奇怪,我似乎只在 Windows 7 上看到这个(当我在 Windows 8 中构建应用程序时,这似乎没有发生)。我通过 XE3 在 C++Builder XE 中看到了这一点。我将编译一个应用程序(静态链接包和 rtl),然后从调试器中运行它。如果我随后更改代码并尝试重新编译并运行应用程序,编译似乎正常,但应用程序在尝试启动时崩溃。如果我关闭 C++Builder 并重新打开它,然后强制它通过重新构建全部或进行一些小的更改来重新构建,它编译并运行良好。每次都是这样。我过去曾尝试切换到动态链接 rtl 并且“出现”以使问题消失,但我不确定这是否是一个可靠的假设。有没有人看到这种行为,有没有人知道如何解决它。
编辑:
崩溃发生在我的任何代码之前。这是调用堆栈:
007d17b3; __delayLoadHelper2
007d7efa; __imageBase
007d308b; __wstartup
顺便说一句:这个项目中没有延迟加载 dll。