Notazione Non riesco a capire nel codice sorgente di Quake (C)
Domanda
I stava prendendo uno sguardo alla Quake 1 Codice GPL e mi sono imbattuto in vari file di intestazione simili, lo scopo o l'uso di cui non mi sembra di capire. Sembrano tavole di alcuni tipi e sono strutturati in questo modo
{1, 0},
{1, -1},
{1, -2},
{1, -3},
{1, -4},
{1, -5},[...]
Senza nulla prima o dopo di loro. Capisco che definiscono qualcosa, ma non ho mai incontrato questo tipo di notazione in C. Si può leggere uno dei file di intestazione mi riferisco a qui .
La mia domanda è: che cosa sono quelle cose ...? L'ASM è in realtà avermi dato meno problemi di quella roba.
Soluzione
Questi sono probabilmente multi-uso include. Essi possono essere utilizzati in questo modo:
struct {int y; int y;} points[] = {
#include <points.inl>
};
Altri suggerimenti
Il contenuto di un colpo di testa fare non deve essere valido C; il preprocessore C inserirà loro ovunque la direttiva #include
si trova, come ad esempio nel bel mezzo di un inizializzazione di struct in un altro file sorgente. Fino a quando è valida C per il momento si arriva in realtà al compilatore, che è ciò che conta.
Si può essere usato per inizializzare gli array.
Si poteva usare in questo modo:
int array[N][2] =
#include <header_file>
;