与Qtmeta object code
相关的 when是什么意思?Meta Object Compiler (moc)
谢谢。
元对象通过创建新对象或操作现有对象来增强编程语言。它们提供了一种语言本身实际上并不具备的功能。元对象由编译时或运行时解释。在 Qt 和 C++ 中,它由元对象编译器 (moc) 在编译期间完成。
一个例子是信号/槽概念的使用。
既然您特别询问了Meta object
and moc
,
从文档,
... moc 工具读取 C++ 头文件。如果它找到一个或多个包含 Q_OBJECT 宏的类声明,它会生成一个 C++ 源文件,其中包含这些类的元对象代码。...
HTH..
Signal Slot 机制、运行时类型信息和动态属性系统需要元对象代码。
Qt 系统根据您的 c++ 代码(例如 Q_PROPERTY、Q_SLOTS 等)中的“注释”创建“元对象代码”。Qt 使用它们来实现对类属性的元调用和反射样式访问。
查看编译器为您的类生成的“.moc”文件,您就会明白。
但是考虑到 Qt 未来的不确定性,请问您为什么选择 Qt?(除非它纯粹是为了黑客的乐趣..)