2010-12-03 9 views
8

Ich schaute mir den Quake 1 GPL Code an und stieß auf verschiedene ähnliche Header-Dateien, deren Zweck oder Verwendung ich nicht zu verstehen glaube. Sie sehen aus wie einige Tabellen und sind wie folgt strukturiertNotation kann ich im Quake-Quellcode nicht verstehen (C)

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

Ohne etwas vor oder nach ihnen. Ich verstehe, dass sie etwas definieren, aber ich bin nie auf diese Art von Notation in C. gestoßen. Sie können eine der Header-Dateien lesen, die ich verweise auf here.

Meine Frage ist: Was sind das ... Dinge? Das ASM gibt mir tatsächlich weniger Probleme als dieses Zeug.

Antwort

14

Diese sind wahrscheinlich Multi-Use-Includes. Sie können wie so verwendet werden:

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

Wie könnte ich nicht denken, dass! Ein kurzer Blick auf die Datei d_polyse.c hat dies bestätigt. Danke für die Antwort! – Viktor

+0

Gern geschehen. – frast

8

Der Inhalt eines Header tun nicht gültige C sein; Der C-Präprozessor fügt sie überall dort ein, wo die Direktive #include gefunden wird, etwa mitten in einer Strukturinitialisierung in einer anderen Quelldatei. Solange es zu dem Zeitpunkt gültig ist, zu dem es tatsächlich beim Compiler ankommt, ist das alles, worauf es ankommt.

3

Sie können verwendet werden, um Arrays zu initialisieren.

Man könnte sie wie folgt verwenden:

int array[N][2] = 
#include <header_file> 
; 
Verwandte Themen