J'utilise l'indicateur -fno-rtti
gcc pour compiler mon C ++ sans informations sur le type d'exécution.
En supposant que je n'utilise pas dynamic_cast<>
ou typeid()
, y a-t-il quelque chose qui pourrait me conduire à des problèmes ultérieurs?
J'utilise l'indicateur -fno-rtti
gcc pour compiler mon C ++ sans informations sur le type d'exécution.
En supposant que je n'utilise pas dynamic_cast<>
ou typeid()
, y a-t-il quelque chose qui pourrait me conduire à des problèmes ultérieurs?
Étant donné que votre question est spécifique à GCC, vous devriez consulter attentivement la documentation de la version que vous utilisez. La documentation de GCC 4.5.2 dit ce qui suit. Qui de ma lecture semble indiquer que si vous évitez de le dynamic_cast et typeid, vous devriez être ok. Cela dit, je n'ai pas d'expérience personnelle avec -fno-rtti. Vous pourrez peut-être expliquer pourquoi vous êtes aide -fno-rtti.
-fno-rtti Désactiver la génération de l'information au sujet de chaque classe avec fonctions virtuelles pour une utilisation par le C++ runtime type d'identification caractéristiques (
dynamic_cast' and
typeid'). Si vous ne pas utiliser les parties de la langue, vous pouvez économiser de l'espace par l'utilisation de ce le drapeau. Notez que la gestion des exceptions utilise les mêmes informations, mais il générer en tant que de besoin. L' `dynamic_cast' opérateur peut encore être utilisés pour la contention qui ne nécessitent pas de runtime type d'information, à savoir jette à void * ou à sans ambiguïté de la base de des classes.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.