3

与Qtmeta object code相关的 when是什么意思?Meta Object Compiler (moc)

谢谢。

4

4 回答 4

4

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

一个例子是信号/槽概念的使用。

于 2011-06-06T10:31:57.677 回答
0

既然您特别询问了Meta objectand moc

文档

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

HTH..

于 2011-06-06T11:27:30.460 回答
0

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

于 2018-04-10T06:21:09.587 回答
-4

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

查看编译器为您的类生成的“.moc”文件,您就会明白。

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

于 2011-06-06T10:12:12.147 回答