Frage

Ich habe gerade gelesen diesen Beitrag warum neuen- Linie Warnungen vorhanden sind, aber ehrlich mein Team hat Menschen auf unterschiedlichen Plattformen zu arbeiten und mit mehreren verschiedenen Editoren (jeder benutzt, was Suiten sie Bestzeiten), so hat die Warnung allgegenwärtig geworden, und da es nicht wirklich eine Warnung wert darauf achten, dass der es werden Lärm und macht ernste Warnungen ein Streit zu finden.

Viele Male wichtige Warnungen haben unbemerkt geblieben, da haben die Leute zu, die eine Unmenge nutzlose Warnungen übergeben verwendet, so dass sie aufhören offensichtlich nur Blick auf sie aufmerksam, und mit Grunde IMHO. Man könnte in unserem Fall sagt GCC weint Wolf zu viel für jemand es ernst zu nehmen mehr, was eine schlechte Haltung ist aber es ist nur die menschliche Natur.

Im Moment erarbeiten wir mit -Wall, weil wir Warnungen wollen, aber gibt es einen Zähler-Flag, die neuen Online-Warnungen zu vermeiden?

Hinweis: Ich sehe das Handbuch durch ein wenig, aber die Antwort in jedem Ort nicht offensichtlich finden, so gab ich auf

.

Hinweis: Als Antwort auf Robert Gamble völlig vernünftige Lösung, unser Code ist plattformübergreifend und wir haben Leute, und baut auf Linux, Solaris und Windows, so dass die new-line ... nicht unter Konsens. Und Compilers Jemand wird immer-Wolf zu weinen. Da gibt es mehr als 40 Entwickler und andere nicht-Programmierer Personal auch.

War es hilfreich?

Lösung

Es gibt nicht eine so weit ich weiß, ich habe GCC seit Jahren verwendet.

Update: Es sollte keine Warnungen mit C ++ 11-Standard angehoben werden. Verwandte Q

Andere Tipps

Angenommen, Sie irgendeine Art von Quellcodeverwaltungssystem verwenden, können Sie fügen Sie einen Haken pre-commit, die sicherstellt, dass Textdateien mit einem richtigen Newline beenden. Darüber hinaus je nachdem, welche Quelle Steuerungssystem Sie verwenden, können Sie fügen Sie einen Haken pre-commit, dass eigentlich Fixes die Linie endet, wenn es nicht vorhanden ist.

Warum Sie nicht nur sicherstellen, dass Ihre Dateien ein abschließendes Newline haben wie sie sollen? Dies sollte eine einfache Konfigurationsänderung in den beanstandeten Editoren und scheint wie eine ziemlich einfache Art und Weise zu „Stille“ die Warnung.

-Wno-eof-newline

Dies wurde mit dem Update hinzugefügt für gcc bug 14331


Seltsamer kann ich nicht wirklich gcc Ausgang für fehlende Zeilenumbrüche eine Warnung erhalten. Ich denke, neuere Versionen mit dieser Warnung gänzlich verzichtet haben.

Ich kann gcc erhalten -Wno-eof-newline zu akzeptieren, aber es beschwert sich über nicht erkannte Flaggen, als ich -Weof-newline versuchen. C ++ 11 entfernt, um die Voraussetzung für neue Zeilen am Ende der Dateien aber für portablen Code in den alten Standards schreiben soll es wirklich möglich sein, so pedantisch Warnungen zu aktivieren.


Zum Glück Klirren immer noch richtig Diagnose über fehlende Zeilenumbrüche unterstützt. Diese Warnung kann mit -Wnewline-eof in allen Modi aktiviert werden, oder in C ++ 11 und höheren Moden kann es auch mit -Wc++98-compat-pedantic aktiviert sein

Diese Warnungen sind standardmäßig deaktiviert, aber wenn Sie die Vorteile von Klirren der -Weverything Flagge nehmen sind eine ‚subtraktiven‘ Strategie zu ermöglichen, Warnungen für die Steuerung, dann in C ++ 11 und höher Modi müssen Sie sowohl -Wno-newline-eof und -Wno-c++98-compat-pedantic deaktivieren die Warnung.

Ich bin 90% sicher, dass es keine arguemnt ist diese auszuschalten.

Der Grund für die Warnung ist, dass Dateien ohne endline undefinierte Verhalten geben, wenn zusammengestellt:

Siehe Standard: http://c0x.coding-guidelines.com/5.1.1.2.html

Hier ist eine Blog-Post mit einigem Python-Code (die ich nicht versucht habe), die sagt, dass es Quelldateien mit diesem Thema fixup wird.

http://www.johndcook.com/blog/tag/gcc/

Fügen Sie einen Haken an der Quellcodeverwaltung, die nicht erfolgreich Code Check-in ermöglicht, bis die Neuen-Zeile hinzugefügt wird?

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