Frage

In einem Projekt arbeite ich an im Büro, wenn wir einen Release-Build (mit -Os) kompilieren wir Hunderte von Warnungen g erhalten ++ sagen, dass inlining ausgefallen ist. Die meisten dieser Warnungen scheinen von Auftrieb zu kommen, aber einige kommen aus der eigenen Bibliothek Header (binär .dylibs, dass wir die Anbindung an). Kann man diese Warnungen im Allgemeinen problemlos ignoriert werden, oder sind sie etwas, was ich besorgt sein sollte?

Hinweis: Wir verwenden g ++ 4.0 auf Mac OS X

War es hilfreich?

Lösung

g ++ wird alarmiert, was ist im Wesentlichen, streng ein Performance-Problem - Sie anfordern inline Implementierungen, die einfach nicht inlined werden. Wenn Ihre Verwendung von inline spielt eigentlich keine Rolle, sollten Sie es entfernen (Compiler der Lage sind, Funktionen Inline ohne diese Andeutung, wissen Sie! -), aber in Bezug auf Code Korrektheit, können Sie die Warnung ignorieren. Wenn Ihre Verwendung von inline Minster, das heißt, ist entscheidend für Ihre Leistung (im Gegensatz zu einer dummen vorzeitigen Optimierung ist), wird die Warnung erzählen Sie Ihren Code zu überarbeiten, damit es (ungünstigster Fall erreicht werden, indem auf Makros nach unten bewegen - Seufzer, aber wenn es sein muss, Sie müssen -).

Andere Tipps

Es sollte speichern, wenn Sie nicht

sein
  • schlug einen Fehler in gcc
  • antizipieren inlined Funktionen im Code
  • versuchen böse Dinge zu tun

Sie sollten versuchen, Warnungen zu minimieren though.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top