8

Quake 1 の GPL コードを調べていたところ、似たようなヘッダー ファイルがいくつかありましたが、その目的や用途がよくわかりません。それらはある種のテーブルのように見え、このように構造化されています

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

それらの前後には何もありません。それらが何かを定義していることは理解していますが、C でこの種の表記法に出くわしたことはありません。ここで参照しているヘッダー ファイルの 1 つを読むことができます。

私の質問は: それらは何ですか? ASM は、実際にはそれよりも問題が少ないです。

4

3 に答える 3

14

これらはおそらく多目的インクルードです。それらは次のように使用できます。

struct {int y; int y;} points[] = {
#include <points.inl>
};
于 2010-12-03T10:34:42.373 に答える
8

ヘッダーの内容は有効な C である必要はありません。C プリプロセッサは#include、別のソース ファイルの構造体の初期化の途中など、ディレクティブが見つかった場所にそれらを挿入します。実際にコンパイラに到達するまでに有効な C である限り、それがすべてです。

于 2010-12-03T10:35:09.923 に答える
3

これらは、配列の初期化に使用できます。

次のように使用できます。

int array[N][2] =
#include <header_file>
;
于 2010-12-03T10:35:11.063 に答える