Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

compilazione codice programma con header math.h

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] compilazione codice programma con header math.h

Messaggioda Foto Utentehuyol » 22 set 2016, 23:23

ciao a tutti,
per cortesia qualcuno può spiegarmi il perché per compilare un programma contenente l'header <math.h> nel comando di compilazione, al termine di esso, occorre scrivere -lm?

Codice: Seleziona tutto
franco@HP-15-Notebook-PC:~/Scrivania$ gcc QUADRATO.c -o quadrato -lm
franco@HP-15-Notebook-PC:~/Scrivania$ ./quadrato
PROGRAMMA PER L'ELEVAZIONE AL QUADRATO DI UN NUMERO
digita il numero:
21
Il quadrato di 21.000000 è 441.000000
franco@HP-15-Notebook-PC:~/Scrivania$


Codice: Seleziona tutto
//PROGRAMMA PER L'ELEVAZIONE AL QUADRATO DI UN QUALSIASI NUMERO

#include <stdio.h>
#include <math.h>

int main()

{
float numero;
printf ("PROGRAMMA PER L'ELEVAZIONE AL QUADRATO DI UN NUMERO \n");
printf("digita il numero: \n");
scanf ("%f", &numero);

printf ("Il quadrato di %f è %f \n", numero, pow(numero,2));

return 0;
}
Avatar utente
Foto Utentehuyol
120 2 5
Frequentatore
Frequentatore
 
Messaggi: 203
Iscritto il: 30 gen 2011, 19:24

2
voti

[2] Re: compilazione codice programma con header math.h

Messaggioda Foto UtenteDirtyDeeds » 22 set 2016, 23:35

Il file math.h è un header file, ovvero è un file che contiene le dichiarazioni delle costanti, delle variabili e delle funzioni della libreria matematica, ma non contiene la libreria matematica, cioè le definizioni vere e proprie di tali oggetti.

Le librerie vengono aggiunte dal linker, dopo la compilazione. Tutte le funzioni della libreria standard, tranne quelle della libreria matematica, sono aggiunte automaticamente. L'opzione -lm dice al linker di aggiungere anche la libreria matematica. Ci sono vari motivi per questo comportamento, se ne era discusso un po' qui. In particolare, in questo messaggio spiegavo il comportamento dell'opzione -lm.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[3] Re: compilazione codice programma con header math.h

Messaggioda Foto Utentehuyol » 24 set 2016, 14:38

grazie mille DirtyDeesds, come sempre preciso e chiarissimo :ok:
Avatar utente
Foto Utentehuyol
120 2 5
Frequentatore
Frequentatore
 
Messaggi: 203
Iscritto il: 30 gen 2011, 19:24


Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti