Ho terminato di inserire molte piccole funzioni inline in un file di intestazione che includo in molte unità di compilazione, , il codice è correttamente inserito dal compilatore e il programma funziona come un incantesimo.intestazione piena di funzioni inline, posso spostare il codice all'esterno del file di intestazione e ancora in linea tutto?
ma ora il file di intestazione è qualcosa di molto insolito (per essere un file di intestazione), per renderlo più leggibile ho pensato di fare qualcosa di simile:
#ifndef MY_HEADER_H
#define MU_HEADER_H
static inline
void my_fnct (my_param a);
#include "my_header.inline.c"
#endif
e il file my_header.inline.c
sarà come:
static inline
void my_fnct (my_param a)
{
// .. my code ..
}
poi, quando voglio queste funzioni ho appena includere il file di intestazione.
la mia domanda è: c'è un modo migliore per realizzare questo senza riempire un file di intestazione con troppo codice? o posso farlo e mi aspetto che altri sviluppatori capiscano questo codice senza problemi?
Qual è il problema con l'avere funzioni inline nell'intestazione, di nuovo? le funzioni inline dovrebbero essere molto brevi, one-liner, davvero. – littleadv
Per quanto riguarda le prestazioni del codice, l'unica cosa che si può vedere se è importante è la misura. Qual è il rallentamento del tuo compilatore con tutte le cose incluse? La mia esperienza è che tali cose sono trascurabili con i compilatori moderni. E non vale la pena di avere centinaia di opzioni di configurazione facilmente confondibili. –