我正在使用代码块13.12并使用mingw(GCC 4.7& 4.8系列) 它支持通过引用调用(func1(int& a))尽管我选择C项目而不是CPP项目。 如果我没有弄错,C中没有引用调用的概念,即使使用指针,所有内容都是按值调用。 我的问题是如何使用C只功能?这个的任何设置?我在工具链中看到它使用mingw32-gcc.exe进行c编译。 如何知道它真正使用的是哪个编译器版本(如C11,C99等)?
答案 0 :(得分:1)
为您的文件命名,扩展名为.c
。绝对不是.cc
或.cpp
使用gcc
作为命令行进行编译,而不是g++
如果有疑问,请使用-std=
命令行参数来强制您想要的C风格(例如-std=C90
,-std=C99
,甚至-std=C11
)。还有-ansi
。
此外,验证代码是否编译为C而不是C ++的廉价而肮脏的方法是在源代码中添加此代码块。如果它是C ++,则编译器将生成错误。
#ifdef __cplusplus
int compile_time_assert[-1];
#endif