math.h – var är tillhörande .c-fil?

Här diskuteras programmering och utveckling
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

math.h – var är tillhörande .c-fil?

Inlägg av Johnny Rosenberg »

Har en liten fundering när det gäller C. När man vill kunna utföra diverse matematiska operationer brukar man ju inkludera math.h och sedan kompilera med -lm (i alla fall om man använder gcc).

Filen math.h har jag ju hittat på datorn (/usr/include/math.h), men den innehåller ju mest deklarationer och liknande, men själva jobbet måste ju utföras också. Det är väl det flaggan -lm är till för, antar jag, men vad heter källfilen och var ligger den?

Gjorde en sökning på hela burken och det enda jag fann var SYSCALLS.c.x, men den innehöll bara (bland en del annat) något som såg ut som prototyper till de funktioner som ingår i math. Själva funktionerna i sig hittade jag inte någonstans, men jag letar väl på fel ställe och efter fel saker, antar jag.
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: math.h – var är tillhörande .c-fil?

Inlägg av Konservburk »

Det är en del av libm (därav -lm) som följer med libc. Den faktiska källkodsmapp som är mest intressant om du vill se hur t.ex. sqrt, log, exp, sin, cos har kodats hittar du här:

http://www.eglibc.org/cgi-bin/viewvc.cg ... 54/dbl-64/
Användarvisningsbild
Johnny Rosenberg
Inlägg: 1256
Blev medlem: 23 jun 2007, 16:18
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: math.h – var är tillhörande .c-fil?

Inlägg av Johnny Rosenberg »

Konservburk skrev:Det är en del av libm (därav -lm) som följer med libc. Den faktiska källkodsmapp som är mest intressant om du vill se hur t.ex. sqrt, log, exp, sin, cos har kodats hittar du här:

http://www.eglibc.org/cgi-bin/viewvc.cg ... 54/dbl-64/
Tackar!

Fascinerande hur de lyckats krångla till något så simpelt som att beräkna absoluta beloppet av ett tal. Undrar vad det är som inte duger med det enkla ”return(x<0?-x:x);”. För långsamt? Något som kan gå snett i någon extrem situation? Kompatibilitetsproblem?

Ibland känns det som att det enkla inte duger, mest för att det är just enkelt… ;D
Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ

IEEE 1541 - binära prefix
ISO 8601 - datum och tid
Skriv svar

Återgå till "Programmering och webbdesign"