Hallo, On Thu, 27 Feb 2003 at 15:42 (+0100), Michael Matz wrote:
On Thu, 27 Feb 2003, Bernhard Walle wrote:
Für C kann ich nur hoffen, dass ein zukünftiger Standard dies übernimmt, so wie C einst die Prototypen von C++ übernahm.
ACK. Was meinst Du eigentlich mit den Prototypen?
Prototypes sind Funktionsdeklarationen, die auch die Typen der Argumente deklarieren. Sie koennen im Kontext einer Funktionsdefinition, oder als simple Deklaration auftreten.
Schon klar.
Und nein, Prototypen wurden nicht von C++ uebernommen, sondern sind schon in ANSI C90.
Ich verstehe jetzt nicht was in C90 aufgenommen wurde. Wie lief das frueher in C ohne Prototypen? Musste die Funktion vor der Verwendung definiert werden (denn ohne Prototypen gibt es ja keine Deklaration ohne Definition) oder konnte sie `einfach so' verwendet werden, d. h. ohne eine Ueberpruefung der Argumente auf Anzahl und Typ. Letzteres waere ja, naja, nicht so toll ;).
Warum implementieren die gcc'ler eigentlich nicht das mit dem Weglassen auch fuer C. Ich meine, das __attribute__((unused)) ist ja auch inkompatibel, dann koennte man wenigstens etwas sinnvolles inkompatibles (immerhin viel kuerzer) machen ...
Zweischneidig. Auf den ersten Blick ist dies eine vernuenftige Idee, nichtdestotrotz aber eine Abweichung vom Standard. Und zwar wuerde es eine _weitere_ sein.
Wie machen das eigentlich andere Compilerbauer (Microsoft/Intel/ Borland)? Warum kann man sich nicht (ohne Standard) auf ein gemeinsames Vorgehen einigen? Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Die Lüge ist wie ein Schneeball: Je länger man ihn wälzt, desto größer wird er. -- Martin Luther