对于本学期的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产生了仇恨。
发布于 2013-02-18 12:09:15
您可以使用编译器的-std
参数执行tell clang what dialect of C to use。听起来你可能需要-std=c89
或-std=gnu89
。
在Xcode中,在项目或目标的构建设置中,将"C语言方言“设置为您想要的任何值。
我不会指望它能捕捉到所有的东西,但它应该能让你更接近。
https://stackoverflow.com/questions/14929225
复制相似问题