Запись, которую я не могу понять в исходном коде Quake (C)

Я взглянул на GPL-код Quake 1 и наткнулся на различные похожие заголовочные файлы, назначение или использование которых мне, кажется, не понятны. Они выглядят как таблицы некоторых видов и имеют такую ​​структуру

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

Без чего-либо до или после них. Я понимаю, что они что-то определяют, но я никогда не сталкивался с такими обозначениями на C. Вы можете прочитать один из заголовочных файлов, о которых я говорю здесь.

Мой вопрос: что это за... вещи? ASM на самом деле дает мне меньше проблем, чем этот материал.

3 ответа

Решение

Это, вероятно, многоцелевые включения. Их можно использовать так:

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

Содержимое заголовка не обязательно должно быть верным C; препроцессор C вставит их везде, где #include директива найдена, например, в середине инициализации структуры в другом исходном файле. Пока это действительно C, когда он на самом деле попадает в компилятор, это все, что имеет значение.

Их можно использовать для инициализации массивов.

Вы можете использовать их так:

int array[N][2] =
#include <header_file>
;
Другие вопросы по тегам