Is there a way of compiling C11 to C89?

前端 未结 2 918
悲哀的现实
悲哀的现实 2021-02-12 19:13

One of my (embedded) targets only has a C89 compiler.

I am working on a (hobby) project which targets multiple devices.

Is there a way of compiling (transpiling?

2条回答
  •  温柔的废话
    2021-02-12 19:31

    No I don't think that it is possible for all of C11. C11 has features that simply not exist in C89 or C99: _Generic, _Atomic, _Thread, _Alignof, well defined sequenced before ordering, unnamed struct and union members ... These don't have counter parts in the older versions and would be really difficult to emulate.

    For any of these features you would have to rely on extensions of your target compiler, so probably possible for some of the features for one given compiler. But it would be a nightmare to write such a tools that would have plain C89 as a generic target. You'd better implement a C11 compiler directly.

提交回复
热议问题