C-Code-Validierung in Bezug auf Standard-Conformität

28/10/2007 - 19:35 von Thomas Pinz | Report spam
Hallo beisammen,

[Usenet-Entschuldigung #1: Ich hab zwar schon in der FAQ und via Google
Groups gesucht, aber nix gefunden]


Ich habs unter anderem oefters mit C-Code zu tun, der als Treiber zur
Ansteuerung bestimmter ICs dient, also dort Register beschreibt usw.. diese
Treiber sind ein Stueck Quelltext, die dann hinterher auf vielen
verschiedenen Compilern funktionieren sollen, z.T. auf obskuren
Embedded-Plattformen (z.B. ST20), aber auch auf den grossen PC-Compilern.

Jetzt bin ich auf der Suche nach ner Art Parser, der mir zeigt, ob das
Codefragment standardkonform (z.B. ISO C99, K&R) ist, oder sich irgendwo
Compiler-spezifische Erweiterungen eingeschmuggelt haben.
Ich kaempfe immer wieder mit obskuren Warnings, wo dann lange Diskussionen
entstehen, ob es nun am Code liegt oder der Compiler ein Problem hat.

Einfachstes Beispiel waeren //-Kommentare, die ja nach C99 erlaubt waeren,
die meisten Compiler kein Problem haben, aber ich hab auch eben welche, die
damit ganz komische Dinge machen.

Fuer HTML gibts ja http://validator.w3.org/, sowas wuerd ich nun fuer C
brauchen... Splint hab ich mir schon angeschaut, das find ich auch sehr
hilfreich, hab aber leider noch nicht rausgefunden, ob man da den Standard
umschalten koennte.

Vielen Dank.

Thomas
 

Lesen sie die antworten

#1 Alexander Bartolich
28/10/2007 - 20:02 | Warnen spam
Thomas Pinz schrieb:
[...]
Fuer HTML gibts ja http://validator.w3.org/, sowas wuerd ich nun fuer C
brauchen... Splint hab ich mir schon angeschaut, das find ich auch sehr
hilfreich, hab aber leider noch nicht rausgefunden, ob man da den Standard
umschalten koennte.



gcc bietet folgende Optionen:
-std=iso9899:1990
-std=iso9899:199409
-std=iso9899:1999

bzw. zwei Abkürzungen:
-stdÈ9
-stdÉ9

Zusammen mit der Abkürzung -pedantic wird das ziemlich geschwàtzig.

news.albasani.net

Ähnliche fragen