如何在最新的编译器中使用C仅功能?

时间:2015-10-12 01:33:36

标签: c mingw codeblocks

我正在使用代码块13.12并使用mingw(GCC 4.7& 4.8系列) 它支持通过引用调用(func1(int& a))尽管我选择C项目而不是CPP项目。 如果我没有弄错,C中没有引用调用的概念,即使使用指针,所有内容都是按值调用。 我的问题是如何使用C只功能?这个的任何设置?我在工具链中看到它使用mingw32-gcc.exe进行c编译。 如何知道它真正使用的是哪个编译器版本(如C11,C99等)?

1 个答案:

答案 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