Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉.完成这一操作的就是 moc. moc 全称是 Meta-Object Compiler,也就是"元对象编译器".Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件.如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件.这个源文件中包含了 Q_OBJECT 宏的实现代码.这个新的文件名字将会是原文件名前面加上 moc_ 构成.这个新的文件同样将…
GUIs are Dynamic C++ is a standarized, powerful and elaborate general-purpose language. It's the only language that is exploited on such a wide range of software projects, spanning every kind of application from entire operating systems, database ser…
moc 代表 Meta-Object Compiler,"元对象编译器".Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件. 假设它发如今一个头文件里包括了宏 Q_OBJECT,则会生成另外一个 C++ 源文件.这个源文件里包括了 Q_OBJECT 宏的实现代码.这个新的文件名称字将会是原文件名称前面加上 moc_ 构成.这个新的文件相同将进入编译系统,终于被链接到二进制代码中去.因此我们能够知道,这个新的文件不是"替换"掉旧的文件,而是与…