2010-12-03 13 views
8

Estaba viendo el código de Quake 1 GPL y me encontré con varios archivos de encabezado similares, cuyo propósito o uso parece no entender. Se ven como tablas de algún tipo y están estructurados asíNotación que no puedo entender en el código fuente de Quake (C)

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

Sin nada antes o después de ellos. Entiendo que definan algo, pero nunca me he encontrado con este tipo de notación en C. Puede leer uno de los archivos de encabezado a los que me refiero here.

Mi pregunta es: ¿qué son esas ... cosas? El ASM realmente me está dando menos problemas que esas cosas.

Respuesta

14

Estas son probablemente multiuso. Pueden ser utilizados de esta manera:

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

Cómo no voy a pensar en eso! De hecho, un rápido vistazo al archivo d_polyse.c lo confirmó. ¡Gracias por la respuesta! – Viktor

+0

De nada. – frast

8

El contenido de una cabecera de hacer no tienen que ser válidos C; el preprocesador C los insertará allí donde se encuentre la directiva #include, como en el medio de una inicialización de estructura en otro archivo fuente. Siempre que sea válido C para cuando llegue al compilador, eso es todo lo que importa.

3

Se pueden utilizar para inicializar matrices.

Se puede usar como esto:

int array[N][2] = 
#include <header_file> 
; 
Cuestiones relacionadas