Originariamente inviato da XWolverineX
Bhe è possibile comunque dichiarare funzioni e variabili in un file header, a patto che ci sia un sistema ben definito di header che eviti degli autoinclude.
Certo ... ma non ha molto senso e infatti non lo fa nessuno.
Originariamente inviato da XWolverineX
La parola chiave extern e le dichiarazioni anticipate servono proprio a questo.
Un modo corretto di gestire la cosa è il seguente:
mioheader.h
codice:
#ifndef MIOHEADER_H
#define MIOHEADER_H
extern int mioint;
extern void prova (void);
#endif
sorgente1.c
codice:
#include <stdio.h>
#include "mioheader.h"
int main (void)
{
printf ("%d\n", mioint);
prova ();
return 0;
}
sorgente2.c
codice:
int mioint;
void prova (void)
{
}