Нет, я не думаю, что это возможно для всех С11. У C11 есть функции, которых просто нет в C89 или C99: _Generic
, _Atomic
, _Thread
, _Alignof
, четко определенные последовательности перед заказом, неназванные struct
и union
пользователей ... У них нет счетных частей в старых версиях и было бы действительно сложно до эмулировать.
Для любой из этих функций вам придется полагаться на расширения вашего целевого компилятора, возможно, возможно для некоторых функций для одного данного компилятора. Но было бы кошмаром написать такие инструменты, которые имели бы обычный C89 в качестве общей цели. Вам лучше реализовать компилятор C11 напрямую.
Добро пожаловать в мой мир - мой самый низкий общий знаменатель - это Microsoft MSVC, который до сих пор даже не поддерживает C99. –
Получите кросс-компилятор? –
Какие функции C11 вы используете? – SheetJS