Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Eclipse <math.h>  (gelezen 867 keer)

Offline noob

  • Lid
Eclipse <math.h>
« Gepost op: 2012/01/18, 12:57:40 »
Hallo allen,

Ik ben bezig met een c programma te schrijven.Dit doe ik Eclipse. Nu wel ik de library gebruiken math.h en hier van de funtie pow().

float ans;
ans = pow(2,3);  // dit werkt wel
Float a,b;
a=2;
b=3;
ans= pow(a,b);  // dit werkt niet.

Nu las ik op internet dat  -lm moest gebruiken. Als ik gcc aan roep in de terminal. Maar ik wil de Eclipse gebruiken. En één van de voordelen hier van is. Dat ik niet steeds terminal hoeft te gebruiken. Is het ook mogelijk om dit in eclipse in testellen.

Groeten de noob

Re: Eclipse <math.h>
« Reactie #1 Gepost op: 2012/01/18, 18:44:57 »
Probeer eerst. Eens een keer om. Niet zo te. Schrijven want. Dat is zeer. Vervelend.

Ten tweede is het keyword float hoofdlettergevoelig. Met kleine letter dus.

Vervolgens zou libc gewoonweg naar libm moeten linken, dus moet je niets verder instellen.

Om een library toe te voegen in Eclipse, kijk hier: http://tinyurl.com/mjpdef
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline noob

  • Lid
Re: Eclipse <math.h>
« Reactie #2 Gepost op: 2012/01/19, 13:32:08 »

bedankt voor het reageren SeySayux!

Ik had het inderdaad de code even netter neer moeten zetten.
De google resultaten die jij me gaf. vertelden veel over het het toevoegen van shared library. Maar is math.h shared library?

Ik zie nu niet wat ik nu moet doen.Zou je me nog een tip willen geven?

 

Re: Eclipse <math.h>
« Reactie #3 Gepost op: 2012/01/19, 14:33:07 »
<math.h> is een header file: hier staan geen functiedefinities is, enkel declaraties: ze worden gebruikt zodat de compiler de functies met de juiste types kent.

De effectieve code wordt dan geïmplementeerd in een library. De functies die in math.h staan worden in libm geïmplementeerd. Het bestand waar dan effectief de uitvoerbare code in staat, zal op Linux /usr/lib/libm.so heten.

Standaard zal gcc sowieso met libm linken, dus de gcc-flag -l (-l betekent linken, -lfoo zou dus naar een bibliotheek libfoo.so linken, -lm linkt naar libm.so) is in dit geval niet nodig.

Mocht je toch nog met andere externe libraries willen linken in Eclipse, lees dan de artikels die ik hierboven heb gezet.
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net