Любая платформа, которая имеет слишком мало памяти для кода или данных, не поддерживает C. Как предписано стандартом в разделе "2.2.4.1 Ограничения перевода":
Реализация должна иметь возможность переводить и выполнять по крайней мере одну программу, которая содержит по крайней мере один экземпляр каждого из следующих ограничений:
15 уровней вложенности составных операторов, управление итерацией
структуры и управляющие структуры выбора
8 уровней вложенности условного включения
12 указателей, массивов и функций объявления (в любых комбинациях)
изменение арифметики, структуры, объединения или неполного типа
в объявлении
31 объявлений, вложенных в круглые скобки внутри полного объявления
32 выражения, вложенные в круглые скобки внутри полного выражения
...
- 127 идентификаторов с объявленной областью действия блокаd в одном блоке
...
...
...
- 127 членов в одной структуре или объединении
...
- 15 уровней вложенной структуры или определения объединений в одном
struct-объявление-list
Вероятно, вы найдете другие требования, если внимательно прочитаете стандарт.
В конце концов, если достаточно памяти, даже слабая платформа может поддерживать C. Для того, чтобы преодолеть эту проблему, потребуется дополнительный код.аппаратные ограничения (например, поддержка требуемых типов, арифметические операции и т. д.).