C-/C++-Standard und Kommentare hinter Makros

Hallo

Folgende Behauptung wurde bei uns in der Firma von einem Berater aufgestellt:
„Kommentare hinter Makros sind gemäss neuestem Standard nicht mehr zulässig. Sobald GCC dies nicht mehr unterstützt, wird das zum Problem.“

Häähh …???

#ifdef BLA // bla bla bla
#include /\* inlude the bla header \*/
#define BLA\_BLA 1002 /\* define BLA macro \*/ 
#endif // end of BLA

Das soll alles nicht mehr zulässig sein?

Nun, es ist so, dass bei uns nicht viel „alter“ C-Code verwendet wird, der genau solche Kommentare hat.
Die Boost C++ Libraries sind doch auch voll mit solchen Kommentaren.

Stimmt diese Behauptung?
Kennt jemand einen guten Link im Internet, der diese Behauptung widerlegt oder untermauert (ev. in englisch?).

Dank und Gruss
Olli

Hallo,

Folgende Behauptung wurde bei uns in der Firma von einem
Berater aufgestellt:
„Kommentare hinter Makros sind gemäss neuestem Standard nicht
mehr zulässig. Sobald GCC dies nicht mehr unterstützt, wird
das zum Problem.“

hat der Berater irgendetwas schriftliches um diese These zu unterstützen?

C99 5.1.1.2 Translation phases:
The precedence among the syntax rules of translation is specified by the following phases[…]:
[…]
3. […] Each comment is replaced by one space character. […]
4. Prepocessing directives are executed, macro invocations are expanded […] A #include preprocessing directive causes the named header or source file to be processed from phase 1 through phase 4, recursively. […]

Ich würde das so verstehen, dass erst die Kommentare durch Leerzeichen ersetzt werden und bei der Interpretation der Präprocessortokens nicht mehr vorhanden sind. Damit würde ich denken, dass von den Kommentaren nach dem Präprozessortokens höchstens ein Leerzeichen übrig bleibt. So weit ich weiß stören dort Leerzeichen nicht. Damit sollten Kommentare erlaubt sein.

hat der Berater irgendetwas schriftliches um diese These zu
unterstützen?

Nö, hat er nicht. Er führt sich auf wie ein Guru und der Projektleiter glaubt ihm - aber das ist ein anderes Thema.

C99 5.1.1.2 Translation phases:
[…] etc.

Deine Aussage deckt sich mit meiner Erfahrung. Gibt es den C99-Standard online? Habe gegoogelt, aber nichts vollständiges gefunden.

Vielen Dank für die Hilfe
Olli

C99-Standard online? Habe gegoogelt, aber nichts vollständiges
gefunden.

http://www.computer-books.us/c_2.php

Gruss
Olli

Deine Aussage deckt sich mit meiner Erfahrung. Gibt es den
C99-Standard online? Habe gegoogelt, aber nichts vollständiges
gefunden.

Den Standard gibt es nicht kostenlos (legal) online. Es gibt nur irgendwelche Fehlerkorrekturen, Vorabversionen, Kommentare oder so ähnlich. Es soll aber ein PDF zu kaufen geben. Ich benutze ein Buch.

Siehe auch http://www.dclc-faq.de/kap5.htm#5.2, dies bezieht sich aber auf C90.

Viele Grüße
Sebastian Waschik

C99-Standard online? Habe gegoogelt, aber nichts vollständiges
gefunden.

http://www.computer-books.us/c_2.php

Ich gehe aber mal davon aus, dass das nicht der ist, also nicht der wörtliche Text.