Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » math.h Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.09.2003, 22:54 Uhr
~christian
Gast


Hallo mal wieder,


C++:
#include <stdio.h>
#include <math.h>

int main()
{
    sin(3.14);
    return 0;
}



Das Programm habe ich nun als reines C Programm kompiliert und mir wird immer gesagt, dass 'sin' eine "undefined reference" sei. Was soll denn das? Als C++ Programm geht das ohne Probleme durch. Wieso?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.09.2003, 00:09 Uhr
Pablo
Supertux
(Operator)


Ist das unter Linux mit gcc? Weil sonst musst du die Libraries einbinden.

Code:
gcc datei.c -lm



-lm bedeutet link mathe


Wenn Windows ist, bzw. kein gcc dann weiß ich nicht.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.09.2003, 00:12 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


unter visual c funzt bei mir beides c und c++
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.09.2003, 00:15 Uhr
Pablo
Supertux
(Operator)


Dann ist es gcc. gcc braucht dieses -lm, wenn math.h Funktion wie sin, cos, exp, pow, usw. aufgerufen werden.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.09.2003, 12:38 Uhr
~christian
Gast


Ich dachte, dass die math.h ein Standardheader ist und demnach keine besondere Lib braucht. Und wieso denn unter C++ nicht? Seltsam.

Grüße
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.09.2003, 12:54 Uhr
virtual
Sexiest Bit alive
(Operator)


Welche Libraries automatisch hinzugelinkt werden hängt von Deinem Compiler ab und wird nicht mehr von Standard festgelegt.

Auch kann es durchaus sein, daß bei Deinem Compiler sin eine inline Function mit direkten asm Einschüben ist. die die FPU direkt ansteuern und (weil inline) keine Library mehr brauchen. ies kann - je nach header - sich auf C und C++ Programm unterschiedlich auswirken, weil da vielleicht #ifdefs drin stehen.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
03.09.2003, 13:26 Uhr
~christian
Gast


okay, gut. Das leuchtet ein mit den ifdefs.
Dann werd ich mal suchen, ob man eine Art Liste findet, die mir sagt, welche Libs vom gcc automatisch hinzugelinkt werden.

grüße und danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
03.09.2003, 13:34 Uhr
0xdeadbeef
Gott
(Operator)


Soweit ich weiß nur die libc.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
03.09.2003, 14:03 Uhr
virtual
Sexiest Bit alive
(Operator)


@beefy
mach mal

Code:
gcc -v


In der Specs datei steht so allerhand drin, auch - in codeierter Forum - welche Libs gelinkt werden.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: