cl penibler als gcc?
In meinem Job schreibe ich unter anderem C-Programme, die sowohl unter Unix-artigen Betriebssystemen als auch unter Windows funktionieren. Das liegt daran, dass ein Teil unserer Kunden Windows-Server verwendet und andere wiederum AIX, Linux, Solaris usw.
Diese Programme schreibe und teste ich natürlich unter Linux und spiele sie dann bei Bedarf auf meine Windows-Kiste, um sie dort für Windows zu compilieren und meinen Kollegen zum Testen zu geben.
Heute war wieder so ein Fall, lässt sich unter Linux ohne Fehlermeldung compilieren; der CL (das ist der Kommandozeilen-Compiler des VisualStudio, ich verwende natürlich die Kommandozeilentools CL und NMAKE) lieferte hingegen eine Warnung - und hatte sogar recht. Eine Funktion, die als "int sonstwas()" deklariert ist, bei der aber das return-Statement fehlt. (Hatte wenig Auswirkungen, ist mir deshalb noch gar nicht aufgefallen). Bei anderer Gelegenheit bin ich heute draufgekommen, dass der Oracle SQL*C-Präprozessor gar nicht so streng ist, wie ich bisher angenommen habe: Wenn man beim Fetch mehr Hostvariablen angibt, als das zugehörige Select-Statement Werte liefert, wird das weder beim Compilieren noch zur Laufzeit als Fehler angemeckert. Na sowas. Das sind dann die Fehler, die man lange sucht (ein Select-Statement, das 28 Elemente liefern soll, aber nur 27 liefert, weil das 26. Element in der Select-Liste fehlt...)


0 Comments:
Post a Comment
<< Home