【发布时间】:2011-12-23 15:32:44
【问题描述】:
最近,由于基类和派生类的类大小更改未编译,我遇到了几次崩溃。让我举一个简单的例子。我有一个基类,Base.dll 中存在“BaseClass”,我继承了该类并创建了 DerivedClass,它存在于 Derived.dll 中。每当 BaseClass 大小更改时,应重新编译 Derived.dll。但是可能并不总是可以找到所有依赖二进制文件,有时人们会错过一些依赖二进制文件。在这些情况下,我们会遇到难以调试的神秘崩溃。有没有办法缩小这些问题的范围?也就是说,有哪些线索会让你往这个方向思考?
编辑 1:更多细节。请假设有多个基类,例如 base1、base2、base3 等,每个都派生在单独的 dll 中。派生1.dll、派生2.dll和派生3.dll。没有必要为一个基类中的大小变化编译所有其他项目。此外,建立依赖关系不是一种选择,这就是我们经常遇到这个问题的原因。
【问题讨论】:
-
对
BaseClass定义的更改应该会触发DerivedClass及其依赖项的重新编译。为什么没有发生这种情况?
标签: c++ visual-c++ dll