Notación no puedo entender en el código fuente de Quake (C)
Pregunta
Me estaba tomando un vistazo en el Quake 1 Código GPL y me encontré con varios archivos similares de cabecera, con el propósito o el uso de los cuales no parecen que entender. Se ven como mesas de algunos géneros y se estructuran como esto
{1, 0},
{1, -1},
{1, -2},
{1, -3},
{1, -4},
{1, -5},[...]
Sin nada antes o después de ellos. Entiendo que definen algo, pero nunca me he encontrado con este tipo de notación en C. Usted puede leer uno de los ficheros de cabecera que me refiero aquí .
Mi pregunta es: ¿cuáles son esas cosas ...? El ASM es en realidad me está dando menos problemas de esas cosas.
Solución
Estos son probablemente de usos múltiples incluye. Pueden ser utilizados de esta manera:
struct {int y; int y;} points[] = {
#include <points.inl>
};
Otros consejos
El contenido de una cabecera de hacer no tiene que ser válida C; el preprocesador C insertará ellos dondequiera se encuentra la directiva #include
, como por ejemplo en el medio de una estructura de inicialización en otro archivo de origen. Mientras que es C válida en el momento en que realmente llega al compilador, eso es todo lo que importa.
Se puede utilizar para inicializar matrices.
Se puede usar como esto:
int array[N][2] =
#include <header_file>
;