首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将GNU编译成C89

将GNU编译成C89
EN

Stack Overflow用户
提问于 2016-01-15 09:18:30
回答 2查看 1.1K关注 0票数 4

我有一个项目,目标可能是某种类型的嵌入式系统,编译器可能是C89或等效的。不过,我想使用GNU的GCC扩展。

有没有办法让GCC编译成C89?也许是一些组装/拆卸过程?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-15 09:24:40

不幸的是,编译成C89与gcc的扩展不一样。事实上,它们是相互排斥的。

您需要确定您想要哪个项目,然后看看gcc的-std=c89 (可能还有-pedantic)选项,如果您真的想坚持C89的话。如果您想要GNU扩展,请看gcc文档,对于-std=参数有一组相当广泛的选项。

也有一些gcc交叉编译器存在,看看这些,看看它们是否适合您的嵌入式目标平台,您可能有一个更容易的路径可用。

票数 2
EN

Stack Overflow用户

发布于 2016-01-15 09:20:16

我不知道GCC 5和更高版本,但在默认情况下,实际上是带有GNU扩展的C89。

如果您想要显式地使用-std标志,比如-std=gnu89

请参阅在线手册中的控制C方言的选项

如果您想使用GNU扩展,那么您必须使用一个真正支持它们的编译器,比如GCC。如果不想使用GNU扩展,那么可以使用任何兼容的编译器。

还请注意GCC是非常便携的。虽然后期版本可能不支持您的目标平台,但可能会有更早的版本支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34807779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档