自动将C源转换为C89或C90

时间:2013-02-15 16:04:28

标签: c visual-studio gcc code-translation

所以我正在研究这个C / C ++库,我正在使用GNU编译器,它支持最新的C和C ++标准。

我想让我的库与仅支持C89 / C90的VC ++编译器兼容,而不是在函数体内部的其他语句之后允许变量声明的新C标准。

我可以使用哪种工具在函数体的开头创建所有变量声明吗?

我的图书馆非常庞大,拥有执行此任务的工具将使这个过程变得简单。

1 个答案:

答案 0 :(得分:3)

对于反答案很抱歉,但Visual C ++不是C编译器。它可能是一个旧的,过时的(22年过时的,准确的)语言的编译器,它不是C.你应该做的最好的事情是建议那些要求你提供此类支持并要求他们切换的人编译器,而不是使用破碎的。

如果这个解决方案真的超出了你的选择(事实并非如此),那么你可以寻找类似的主题: How to compile c99-to-c89 convertor with clang? https://github.com/libav/c99-to-c89/

如果你认为我所说的话毫无意义再想一想:这是一个22年过时的C编译器。想想世界各地人们为支持它而付出的努力和金钱。

编辑:顺便说一下,那是C: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

http://www.open-std.org/jtc1/sc22/wg14/www/standards