有没有办法编译C11到C89?

fad*_*bee 18 c embedded gcc clang

我的一个(嵌入式)目标只有一个C89编译器.

我正在开发一个针对多个设备的(业余爱好)项目.

有没有办法在C89中编译(转换?)C11代码库?

(否则我将不得不像1989年那样编码,字面意思.)

Jen*_*edt 9

不,我不认为所有C11都有可能.C11有根本就没有C89或C99存在的特点:_Generic,_Atomic,_Thread,_Alignof,明确定义之前订货,不愿透露姓名的测序structunion成员......这些没有在旧版本的柜台零件和会真的很难模仿.

对于这些功能中的任何一个,您都必须依赖目标编译器的扩展,因此可能对某个给定编译器的某些功能可能.但是编写这样一个将C89作为通用目标的工具将是一场噩梦.您最好直接实现C11编译器.