Ответ 1
Нет, я не думаю, что это возможно для всех C11. C11 имеет функции, которые просто не существуют на C89 или C99: _Generic
, _Atomic
, _Thread
, _Alignof
, четко определенные последовательности перед заказом, без имени struct
и union
членов... Это не иметь встречные части в старых версиях и было бы очень сложно подражать.
Для любой из этих функций вам придется полагаться на расширения вашего целевого компилятора, поэтому, возможно, возможно для некоторых функций для одного данного компилятора. Но было бы кошмаром написать такие инструменты, которые имели бы обычный C89 в качестве общей цели. Вам лучше реализовать компилятор C11 напрямую.