Question

Dans un projet je travaille au bureau, quand nous compilons une version release (avec -Os), nous recevons des centaines d'avertissements de g ++ disant que inline a échoué. La plupart de ces avertissements semblent provenir d'élan, mais certains viennent de nos propres têtes de bibliothèque (de .dylibs binaires que nous vous liez). Ces avertissements peuvent être ignorés sans risque en général, ou sont-ils quelque chose que je devrais être inquiet?

Remarque: Nous utilisons g ++ 4.0 sur Mac OS X

Était-ce utile?

La solution

g ++ est alertent à ce qui est essentiellement, strictement un problème de performance - vous demandez des implémentations de inline qui ne peut pas être mise en ligne. Si votre utilisation de inline ne (sais compilateurs sont capables de fonctions inline sans cette touche, vous! -) pas vraiment, il faut l'enlever, mais en termes de correction de code, vous pouvez ignorer l'avertissement. Si votre utilisation de inline does matter, par exemple, est essentiel à votre performance (par opposition à une optimisation prématurée stupide), l'avertissement vous dit de retravailler votre code afin qu'il puisse être atteint (le pire des cas, en se déplaçant vers le bas pour les macros - soupir, mais, quand vous devez, vous devez -.)

Autres conseils

Il faut sauver si vous pas

  • a frappé un bogue dans gcc
  • anticiper les fonctions inlined dans votre code
  • essayer de faire des choses désagréables

Vous devriez essayer de minimiser les mises en garde cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top