Progetto su piu files (in C)
Ciao a tutti, vi pongo un nuovo problema:
devo creare un codice per un uso generale, all'interno di questo codice devo fare uso di una funzione (f(x)) qualunque. Il problema è: Posso creare due file oggetti di cui il primo contenente il codice e il secondo la funzione desiderata e richiamarla all'interno del primo?
Se si come faccio?
Grazie!!!
P.S. Uso come compilatore il Dev C++.
devo creare un codice per un uso generale, all'interno di questo codice devo fare uso di una funzione (f(x)) qualunque. Il problema è: Posso creare due file oggetti di cui il primo contenente il codice e il secondo la funzione desiderata e richiamarla all'interno del primo?
Se si come faccio?
Grazie!!!

P.S. Uso come compilatore il Dev C++.
Risposte
È semplice:
1) crei il file secondo.c e ci scrivi il corpo della tua funzione: supponiamo che sia
2) crei il file secondo.h e riporti la dichiarazione del prototipo della funzione
3) crei il file primo.c, dove usi bella_funzione, e includi il file secondo.h
in questo modo la funzione risulta visibile nel file primo.c
1) crei il file secondo.c e ci scrivi il corpo della tua funzione: supponiamo che sia
void bella_funzione(int dato){ ... }
2) crei il file secondo.h e riporti la dichiarazione del prototipo della funzione
extern void bella_funzione(int dato); /* la parola chiave extern può essere omessa come pure il nome del parametro d'ingresso (ma non il tipo dato) */
3) crei il file primo.c, dove usi bella_funzione, e includi il file secondo.h
#include "secondo.h"
in questo modo la funzione risulta visibile nel file primo.c
Grazie taddeo, se ho capito bene, nel file secondo.c devo metterci il return (es. cosx+x)?
Non ho capito bene la tua domanda. Se la tua funzione serve per il calcolo di un valore numerico allora, di solito (ma non è l' unico metodo), il valore viene restituito all' esterno mediante l'istruzione return.
Ad esempio se la tua funzione esegue il calcolo $cosx+x$ allora sarà del tipo
Nel file "secondo.c" ho incluso il file "math.h" che contiene i prototipi delle funzioni matematiche messe a disposizione dal linguaggio C (serve per poter chiamare la funzione double cos(double)). Ho usato le parentesi angolari perché il file "math.h" è un file della libreria standard e non un file creato da me.
Ad esempio se la tua funzione esegue il calcolo $cosx+x$ allora sarà del tipo
#include <math.h> ... double funz(double x){ return (cos(x)+x); }
Nel file "secondo.c" ho incluso il file "math.h" che contiene i prototipi delle funzioni matematiche messe a disposizione dal linguaggio C (serve per poter chiamare la funzione double cos(double)). Ho usato le parentesi angolari perché il file "math.h" è un file della libreria standard e non un file creato da me.
Ancora grazie Taddeo, hai capito benissimo.
Ciao
Ciao
Di niente.
Buona programmazione!
Buona programmazione!
