【发布时间】:2011-07-15 21:09:56
【问题描述】:
在 Xcode IDE 中,我可以选择将 C 语言方言设置为一种
- ANSI C
- GNU89
- C89
- GNU99
- C99
- 编译器默认值
我理解它们的意思,除了 ANSI C。因为据我所知,ANSI C 只是 C89 或 C99 之一。但应该有它在那里的原因。 ANSI C 中规定的术语是什么?
【问题讨论】:
-
@Paul 我不这么认为。我很好奇列表中的术语 ANSI C 指定了什么。链接上的问题是关于 GNU99 和 C99 的具体区别。我修改了标题以更好地描述我的问题。
-
你能找出 xcode 实际传递给 gcc 的“ANSI C”与“C89”的编译器选项吗?然后我们可以单独参考GCC来回答,这对于我们这些从未使用过xcode的人来说会更容易。通常,“ANSI C”是指 ANSI C89 或 ISO C90,这两个出版物在功能上应该是相同的,但在例如两者之间的分页,但并不一定意味着 xcode 对两者的含义相同。
-
这假设它使用 gcc,而不是 clang。无论如何,如果我不得不猜测,我猜“C89”的意思是
-std=c89,而“ANSI C”的意思是-std=c89 -pedantic,因为这是我能想到的最有用的区别,而且名称完全不合适。 -
@Steve:不是这个意思。方言选择框实际上显示了每个选项在 GCC 标志方面的含义:dl.dropbox.com/u/14571816/xcodelang.png
标签: c xcode option ansi dialect