0

对于本学期我的 CPS 课程,我们正在从 C++ 过渡到 C。对于我的 C++,我越来越喜欢 xCode,它是快速简单的调试器。然而,对于 C,xCode 允许我做很多 C++ 中我不应该被允许在 C 中做的事情。

例如,我可以在循环中初始化和声明一个循环变量,这在 C 中是不允许的。

C:

int i
for(i = 0; i < 100; i++)
{
     printf("This is a number: %i", i);
}

但在 C++ C++ 中允许:

for(int i = 0; i < 100; i++)
{
     printf("This is a number: %i", i);
}

我所有的工作都必须在实验室机器上编译(运行 linux 并使用 gcc 编译)才能计算在内,所以我正在寻找一种方法来继续使用 xCode 来使用 gcc 运行我的程序(或者至少赢得了不要让我做 C++ 的东西)。似乎 xCode 已经放弃了 gcc 支持。无论如何我可以继续使用xCode,但让它以“老派”学校的方式编译,这样它就会捕捉到这样的东西?

现在我一直在使用 sublime2 并且只是在终端中编译。现在这很好,但是在调试方面,我在使用 xCode 这么长时间后对 gdb 产生了仇恨。

4

1 回答 1

1

您可以使用编译器的参数告诉 clang 要使用哪种 C 语言。-std听起来您可能想要-std=c89-std=gnu89

在 Xcode 中,在您的项目或目标的构建设置中,将“C 语言方言”设置为您想要的任何内容。

我不会指望这能抓住一切,但它应该让你更接近。

于 2013-02-18T04:09:14.750 回答