È del tutto inaudito avere un file .c
dedicato solo ai dati? Nel mio caso, lo userei per le variabili globali che sono condivise su altri due file .c
. Ecco in particolare come lo sto usando.
// serverth.h
struct serverth_parameters {
struct { // right now, this is the only struct needed
char * root,
* user,
* public,
* site;
} paths;
// I anticipate needing another struct here
};
#ifndef SERVERTH_SOURCE
extern struct serverth_parameters parameters;
#endif
// serverth.c
#define SERVERTH_SOURCE
#include "serverth.h"
struct serverth_parameters parameters = {
.paths = { // macros are actually used here
"/srv",
"/user",
"/public"
"/site"
}
};
parameters
è una struttura che viene utilizzata per un server websockets, in due file:
- Uno per HTTP (utilizza
parameters.paths.site
) - Due per i protocolli proprietari (entrambi utilizzano
.paths.user
, uno utilizzapaths.public
)
È una cattiva pratica? Le persone fanno questo? Oppure, è più convenzionale conservare solo i dati nel file sorgente in cui è più pertinente?