Mit den -pedantic-errors
Fahnen in gcc
und clang
schaltet diese in einen Fehler see it live:
error: extra tokens at end of #include directive
#include <iostream> gfhgfhgf
^
, die es ist eine Erweiterung angibt.
Wenn wir die Interfacing C and TAL In The Tandem Environment aussehen haben sie einige Code wie folgt aus:
#include <stdlibh> nolist
^^^^^^
So beide gcc
und clang
Unterstützung zusätzliche Zeichen nach der Richtlinie enthalten eine Erweiterung auf einigen Plattformen erforderlich zu unterstützen. die -pedantic flags Verwenden macht gcc
und clang
eine Warnung für Erweiterungen erzeugen, die den Standard verletzen und wie oben erwähnt, Sie -pendatic-errors
zu drehen diese in einen Fehler (Hervorhebung von mir) verwenden können:
zu erhalten alle erforderlichen Diagnose nach dem Standard sollten Sie auch -pedantic (oder -pedantic-errors angeben, wenn Sie wollen, dass sie Fehler statt Warnungen sind).
Wir können eine Referenz für die nolist
Erweiterung im HP'sC/C++ Programmers guide for NonStop Systrms finden, die sagt:
nolist
directs the compiler not to list the contents of the file or sections
being included.
This is an HP NonStop extension to the standard.
Hinweis definiert die draft C++ standard die Grammatik für diese Form der include
in Abschnitt 16.2
[cpp .include] wie folgt:
# include < h-char-sequence> new-line
Was ist dein Compiler? Mine ('clang-600.0.51') gibt eine Warnung aus. – NPE
Die Präprozessor Grammatik von MSVC2013 lässt explizit auch nicht zu: http://msdn.microsoft.com/en-us/library/scxys89.aspx – Bathsheba