Outil adoré/détesté qu'est le moc, il est souvent reproché à Qt : pourquoi diable un tel framework a-t-il besoin d'un outil supplémentaire de précompilation ? Aucun autre n'en a besoin ! Les fonctionnalités fournies par cet outils sont aussi possibles sans (wxWidgets pour le système de signaux et de slots, CAMP pour l'introspection, etc.).
Sa présence conduit à l'existence d'autres outils : notamment, QMake pour l'appeler au bon moment lors de la compilation, des plug-ins spéciaux pour les EDI, etc.
Mais qu'en est-il réellement ?
Au début, il servait aussi à aplanir le terrain : les compilateurs avaient un respect très aléatoire de la norme, cet outil permettait l'égalisation du terrain, donc une utilisation plus vaste du framework. Ça, c'était Qt 1, en 1991. Qt 4 est sorti en 2005, disposant toujours de la bestiole. Pourtant, les compilateurs sont plus respectueux de la norme (notamment, en 2005 est sorti Visual Studio 2005, première version disponible partiellement disponible avec Visual Studio 2005 Express mais aussi troisième version à respecter la norme, la première étant Visual Studio 2002).
Reste la question de l'introspection : les compilateurs de l'époque n'étaient certainement pas aussi souples que les actuels. Admettons. Quid de CAMP, qui torture les compilateurs actuels mais fonctionne à merveille ? Il fonctionne à merveille sur VC7 et sur GCC 3.4.5, soit les versions les plus anciennes de ces deux compilateurs encore supportées par Qt. C'est donc possible.
À quoi sert-il donc ? A-t-il encore une utilité réelle ?
Le moc (meta-object compiler) a-t-il toujours une raison d'exister
Maintenant que les compilateurs ont évolué ?
Le moc (meta-object compiler) a-t-il toujours une raison d'exister
Maintenant que les compilateurs ont évolué ?
Le , par dourouc05
Une erreur dans cette actualité ? Signalez-nous-la !