Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Auswertung von math.h-Funktionen zur Compilezeit?

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
30.11.2009, 14:11 Uhr
ao

(Operator)


Hallo zusammen.

C++:
double x = 12;
double y = 12;
double  z = atan2 (y, x);



In einem anderen Forum wird zur Zeit behauptet, der Compiler (vermutlich gcc; welche Version, weiß ich nicht) könnte und würde in dem gezeigten Beispiel den Laufzeit-Aufruf von atan2 eliminieren und durch eine Berechnung zur Compilezeit ersetzen.

Theoretisch ginge das, weil die Argumente konstant sind. Konsequenz wäre: Das Beispiel kompiliert und linkt ohne -lm.

Weiß jemand, ob das stimmt?

Gruß,
ao

Dieser Post wurde am 30.11.2009 um 14:12 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.11.2009, 16:43 Uhr
0xdeadbeef
Gott
(Operator)


Ab -O1 linkt das mit gcc 4.3 und 4.4 ohne -lm, ja. Ob vorher auch schon, kann ich dir grad nicht sagen. Oh, und das könnte natürlich auch nur bedeuten, dass sie ingelinet werden.

Allerdings - verlassen würde ich mich auf eine solche Optimierung nicht, und ich könnte dir jetzt auch nicht sagen, auf welche Funktionen der gcc das anwendet.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 30.11.2009 um 16:48 Uhr von 0xdeadbeef editiert.
 
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: