我有一个用 Qt 库用 C++ 编写的 GUI。对于我的应用程序,我使用了 TreeView 对象。为了使这个对象的重用变得容易,我制作了一个模板类,我的 QObjects 可以从中继承。由于 moc 不能与模板类一起使用,我制作了这样的类:
class Tree : public QObject, public TreeTemplate<TreeType, TreeItemType>
{
Q_OBJECT
};
这样只允许 Tree 类使用 moc(TreeTemplate 不继承 QObject 或使用 Q_OBJECT 宏),同时获得模板的好处。
我的问题是,在退出我的应用程序时崩溃,没有失败(即使我调用 exit 并跳过 QApplication 清理)。我认为生成的 moc 类可能存在问题,它们的“静态元对象”
我不能使用 valgrind,因为__ASM__
它无法处理。:-(
有谁知道我使用继承自模板类的模板化 Qt 类 (+moc) 的设计是否会导致此问题?
崩溃出现在:退出后的 libc.so 中。