Dirk B. schrieb:
> Dr. Sommer schrieb:
>> Unter POSIX Systemen gibt es bereits eine Funktion namens "y1", und die
>> rufst du auf.
>
> Muss da nicht der Linker schimpfen?
> Und sollte das nicht nur passieren, wenn die mlib mit eingebunden wird?
Nein, denn y1 ist bereits im gcc selbst implementiert und braucht daher
gar keine libm.
Wenn man die eigene Forward-Deklaration weglässt, kommt dann auch:
Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion
»y1« [standardmäßig aktiviert]
Johann L. schrieb:
> y1 auf der libm wird nur dann verwendet, wenn nicht bereits eine
> Implementierung vorliegt -- was im im obigen Beispiel der Fall ist.
Richtig. Es liegt die vor, die der Compiler schon mitbringt.
Es scheint sich um irgendeine Erweiterung zu handeln, daß er die
bevorzugt. Wenn man dem Compiler z.B. -ansi oder -std=c99 mitgibt, nutzt
er die vom Benutzer definierte Funktion.