PDA

View Full Version : [C] Libreria in c


orlandomagic83
19-12-2007, 21:12
Mi servirebbe un programma scritto in c in cui si usi una libreria. Grazie

cionci
19-12-2007, 21:16
Non è che sia molto chiara la tua richiesta, spiegati meglio.

orlandomagic83
19-12-2007, 22:16
Praticamente dovrei fare un programma in c in cui uso una libreria. Per esempio scrivere un programma che mi calcoli il determinante di una matrice o qualcos'altro non necessariamente riguardante le matrici. Spero di essere stato un pò più chiaro

cionci
20-12-2007, 08:23
No, non sei stato più chiaro. Che intendi per liberia ? Alla parola libreria si possono dare decine di accezioni diverse.

Libreria linkata a runtime
Libreria linkata staticamente
Libreria linkata dinamicamente
Libreria formata solamente da altri file .h e .c

Anche questo è l'uso di una libreria (la C standard library):

#include <stdio.h>

int main()
{
printf("Hello World");
return 0;
}

orlandomagic83
21-12-2007, 15:54
non sapevo che ci fossero tanti tipi di librerie. Comunque quelle che mi servono sono le .h e le .c

variabilepippo
21-12-2007, 16:04
Mi servirebbe un programma scritto in c in cui si usi una libreria


Per quale scopo? :rolleyes:

cionci
21-12-2007, 16:14
Un esempio:

In main.c:

#include "mia.h"

int main()
{
stampa();
return 0;
}

In mia.h:

#ifndef ___MIA_H
#define ___MIA_H

void stampa();

#endif

Quelle che iniziano per # sono direttive al compilatore e servono per impedire la doppia inclusione dei .h.
Puoi usare qualsiasi nome al posto di ___MIA_H, l'importante è che sia univoco all'interno non solo del tuo programma, ma anche dell'intero ambiente di programmazione (ad esempio non devi usare RANDMAX od altri nomi definiti dal compilatore o dalla libreria standard).

In mia.c:

#include <stdio.h>
/*se devi usare altre funzioni dichiarate in mia.h serve anche questa sotto, in questo caso ne potresti fare anche a meno*/
#include "mia.h"

void stampa()
{
printf("Hello world!\n");
}

orlandomagic83
21-12-2007, 17:57
Per quale scopo? :rolleyes:

Mi servono per l'esame di programmazione che devo fare.

codreanu
21-12-2007, 18:20
Ma questo discorso vale anche per C++?

cionci
21-12-2007, 18:23
Ma questo discorso vale anche per C++?
In C++, se in mia.h c'è la dichiarazione di una classe devi includere obbligatoriamente mia.h in mia.c (dove andrai ad implementare la classe).

Ovviamente per entrambi i linguaggi vale che i due file C/C++ devono essere inclusi nello stesso "progetto" nel caso si usi un ambiente di sviluppo o compilati entrambi e linkati insieme da linea di comando.