对于我的CPS类,本学期我们将从C++过渡到C。对于我的C++,我越来越依附于xCode,它是快速而简单的调试器。但是,对于C来说,xCode让我做很多C++,我不应该允许在C中做这些事情。在Xcode 4.6中使用gcc
例如,我可以初始化并从循环内声明一个循环变量,它不是允许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产生了仇恨。
从[C99标准](http://en.wikipedia.org/wiki/C99)开始,在循环中声明'i'在C中是合法的。 – 2013-02-18 03:59:14
@KurtRevis,这就是我害怕的,我们必须在我们的实验室机器上使用旧版C标准卡住。不知何故gcc不喜欢这个。我只需要在两者之间跳跃,并根据需要找出差异。谢谢你的提示。 – tknickman 2013-02-18 04:01:35
除非你的实验机器真的是古老的,你可以使用'-std = c99'(或'-std = gnu99'用于C99和GNU扩展)在它们上调用gcc。如果您不确定您的班级是否允许,请与您的导师谈谈。也许他会很高兴,或者你可以说是时候开始使用14岁的语言版本,而不是24岁的版本。 :) – rickster 2013-02-18 04:11:54