compilieren, der Linker meldet "Fehler 1", auch die suche nach der ''math.h'' hilft hier nicht weiter, makros zur Steuerung der Header-Dateien sind hier also eine Sackgasse.
stattdessen muss die option ''-lm'' ergänzt werden
'''Zur Erklaerung:''' der Linker der Gnu-Compiler-Collection der normalerweise auf x86 Systemen verwendet wird ist ld. Ld linkt standardmaessig C-Programme gegen 3 Bibliotheken:
* linux-vdso.so.1 - Frueher auch linux-gate.so, ist ein virtual dynamic shared object. Es verbleibt im Addressraum eines jeden Prozesses und ermoeglicht es Nutzerprogrammen Systemfunktionen ueber die entsprechend vom Prozessor unterstuetzte Schnittstelle (frueher Software Interrupts, heute Fast System Call Interface) aufzurufen.
* libc.so.6 - Ist deine libc, da ist die Implementation deiner Standardbibliothek verborgen.
* ld-linux-x86-64.so.2 - Beinhaltet den Code der verantwortlich fuer das dynamische linken ist.
Moechte man das linken gegen diese 3 Bibliotheken unterbinden, so kann man dies tuen mit <code>-nostdlib</code> und <code>-nodefaultlibs</code> (siehe z.B. gcc manpage).
Generell, muss man alle anderen Bibliotheken gegen die man linken moechte explizit angeben.
Warum die <code>libm</code> nicht in der <code>libc</code> enthalten ist hat historische Gruende die ich jetzt nicht ausfuehren moechte.
Desshalb muss man wenn die <code>math.h</code> genutzt wird mit <code>-lm</code> gelinkt werden.