PDA

Visualizza la versione completa : [C] Ordinare progetto su più file


zxs
27-03-2011, 16:47
Ciao a tutti, ho scritto un programma in c che utilizza diverse funzioni. Ora vorrei ordinare un pò tutto quanto. Mi piacerebbe avere un file main.c (con il codice del main) e il file function.c (contenente il codice delle funzioni).

Potreste indicarmi come dividere il mio progetto in questi due file e i corrispondenti header? Ho provato in più modi ma non riesco a compilare.

Per capirci meglio ho scritto questo programmino che è strutturato nello stesso modo del programma che voglio dividere su più file:


#include <stdio.h>

#define costante 11

int a;
int b;

void funzione1();
void funzione2();

int main(){
a=a+costante;
funzione1();
funzione2();
printf("%i",b);
return(0);
}

void funzione1(){
int c=3;
a=a+c;
}

void funzione2(){
int d=3;
b=a+d;
}

Potreste per favore farmi vedere come suddividereste questo programmino in due file main.c e functions.c e i relativi headers?

PS:utilizzo CodeBlocks

Grazie

MisterBean
27-03-2011, 17:17
Basta che metti il codice delle funzioni in un file a parte come hai detto tu, tuttavia poichè quelle funzioni utilizzano variabili globali "a" e "b", devi dichiararle così dentro a funzioni.c:

extern int a;
extern int b;
Dopodichè compili con gcc main.c funzioni.c -o nomeeseguibile :ciauz:

zxs
27-03-2011, 17:37
Grazie mille, mi mancava quell' extern!

Ciao

Loading