Что означают начальные и конечные символы подчеркивания в идентификаторах ядра Linux?

Я постоянно сталкиваюсь с небольшими соглашениями, такими как __ KERNEL __ .

Ar e __ в данном случае соглашение об именах, используемое разработчиками ядра, или это специфическая причина синтаксиса для такого именования макроса?

В коде есть много примеров этого.

Например, некоторые функции и переменные начинаются с _ или даже __ .

Есть ли конкретная причина для этого?

Кажется, это довольно широко используется, и мне просто нужно некоторое пояснение относительно того, имеют ли эти вещи синтаксическое назначение или это просто соглашение об именах.

Кроме того, я вижу множество объявленных пользователями типов, таких как uid_t. Опять же, я предполагаю, что это соглашение об именах, говорящее читателю, что это определяемый пользователем тип?

7
задан Ciro Santilli 新疆改造中心法轮功六四事件 24 October 2015 в 13:58
поделиться