Qt - 元对象代码

问题描述 投票:2回答:4

meta object code与Qt中的Meta Object Compiler (moc)有关时,我们的意思是什么?

谢谢。

qt meta
4个回答
4
投票

元对象通过创建新对象或操纵现有对象来增强编程语言。它们提供了一种语言本身并不具备的功能。元对象由编译时或运行时解释。在Qt和C ++中,它由元对象编译器(moc)在编译期间完成。

示例情况是信号/时隙概念的使用。


0
投票

既然你特意询问了Meta objectmoc

来自docs

... moc工具读取C ++头文件。如果它找到一个或多个包含Q_OBJECT宏的类声明,它将生成一个C ++源文件,其中包含这些类的元对象代码。 ...

HTH ..


0
投票

信号槽机制,运行时类型信息和动态属性系统需要元对象代码。


-4
投票

Qt系统基于c ++代码中的“注释”创建“元对象代码”(例如Q_PROPERTY,Q_SLOTS等)。 Qt使用它们来实现对类属性的元调用和反射样式访问。

查看编译器为您的类生成的“.moc”文件,您将理解。

但考虑到Qt未来的不确定性,请问你为什么选择Qt? (除非它纯粹是为了黑客的喜悦..)

© www.soinside.com 2019 - 2024. All rights reserved.