Почему ядро linux кодируется с использованием нестандартного C (специфические особенности gcc)? [закрыто]

Код ядра Linux использует «выражение-выражение» и расширение typeof, что делает его компилируемым только в gcc.

Больше я думаю об этом, больше это не имеет смысла.

Он отрицает необходимость переносимости и стандартного C. (теперь для кода ядра Linux требуется специальный компилятор, который поддерживает расширения gcc).

Был ли это неудачный выбор дизайна или была особая причина делать код ядра Linux специфичным для gcc?

РЕДАКТИРОВАТЬ: Когда я сказал, что это побеждает переносимость, я использовал его в другом контексте. Я думал, что в соответствии со стандартом C, он будет принят для ЛЮБОГО компилятора, который поддерживает стандарт C (что и является целью создания стандарта - для объединения всех различных диалектов C), следовательно, более переносимым. Конечно, поскольку gcc очень популярен, а gcc поддерживает zillion архитектуры, эта строка практически бессмысленна. Я просто спрашиваю, было ли какое-то конкретное обоснование, не соответствующее стандарту С.

Ответы на вопрос(4)

Ваш ответ на вопрос