我正在查看 Quake 1 GPL 代码,遇到了各种类似的头文件,我似乎不明白它们的目的或用途。它们看起来像某种表格,结构如下
{1, 0},
{1, -1},
{1, -2},
{1, -3},
{1, -4},
{1, -5},[...]
在他们之前或之后没有任何东西。我知道他们定义了一些东西,但我从未在 C 中遇到过这种表示法。您可以阅读我在这里引用的头文件之一。
我的问题是:那些……是什么东西?ASM 实际上给我的问题比那些东西少。
这些可能是多用途包含。它们可以像这样使用:
struct {int y; int y;} points[] = {
#include <points.inl>
};
标头的内容不必是有效的 C;C 预处理器将在找到指令的任何地方插入它们#include
,例如在另一个源文件中的结构初始化中间。只要它在实际到达编译器时是有效的 C 语言,那才是最重要的。
它们可用于初始化数组。
你可以像这样使用它们:
int array[N][2] =
#include <header_file>
;