Question

je prenais un regard sur le Quake 1 code GPL et je suis tombé sur divers fichiers d'en-tête similaires, dans le but ou l'utilisation dont je ne semble pas comprendre. Ils ressemblent à des tables de certaines sortes et sont structurés comme ceci

{1, 0},
{1, -1},
{1, -2},
{1, -3},
{1, -4},
{1, -5},[...]

Sans quoi que ce soit avant ou après eux. Je comprends qu'ils définissent quelque chose, mais je ne l'ai jamais rencontré ce genre de notation en C. Vous pouvez lire l'un des fichiers d'en-tête dont je parle .

Ma question est: quelles sont ces choses ...? L'ASM me donne effectivement moins de problèmes que ce genre de choses.

Était-ce utile?

La solution

Ce sont probablement multi-usage comprend. Ils peuvent être utilisés comme ceci:

struct {int y; int y;} points[] = {
#include <points.inl>
};

Autres conseils

Le contenu d'un en-tête ne pas doivent être valides C; C préprocesseur les insérer là où la directive #include se trouve, comme au milieu d'une initialisation struct dans un autre fichier source. Tant qu'il est valide C au moment où il se fait au compilateur, qui est tout ce qui compte.

Ils peuvent être utilisés pour initialiser des tableaux.

Vous pouvez les utiliser comme ceci:

int array[N][2] =
#include <header_file>
;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top