对于我的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 ++中允许使用IS 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产生了仇恨。
答案 0 :(得分:1)
您可以tell clang what dialect of C to use使用编译器的-std
参数。听起来您可能需要-std=c89
或-std=gnu89
。
在Xcode中,在项目或目标的构建设置中,将“C语言方言”设置为您想要的任何内容。
我不会指望抓住一切,但它会让你更接近。