Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ gcc确保没有c++;ISM是否已编译?_C++_C_Gcc - Fatal编程技术网

C++ gcc确保没有c++;ISM是否已编译?

C++ gcc确保没有c++;ISM是否已编译?,c++,c,gcc,C++,C,Gcc,我在过去遇到过一些例子: 尝试使用bool类型 使用错误包括cstdio与stdio.h struct关键字有问题 我只想确定100%的源是C,没有C++。 GCC将自己确定它是C还是C++源代码。怎么用?它扫描您传递的文件的扩展名。 是否接受延期 如果您想强制使用特定语言,请使用-x标志(记录在上面的链接中)。此外,您可以检查宏\uuu cplusplus是否已定义。在编译.c文件时,默认情况下它不会这样做吗?您可以使用gcc-x c强制gcc将每个文件视为c,尽管这不是必需的。如果您有

我在过去遇到过一些例子:

  • 尝试使用bool类型
  • 使用错误包括cstdio与stdio.h
  • struct关键字有问题

<>我只想确定100%的源是C,没有C++。

GCC将自己确定它是C还是C++源代码。怎么用?它扫描您传递的文件的扩展名。
是否接受延期


如果您想强制使用特定语言,请使用
-x
标志(记录在上面的链接中)。此外,您可以检查宏
\uuu cplusplus
是否已定义。

在编译
.c
文件时,默认情况下它不会这样做吗?您可以使用
gcc-x c
强制gcc将每个文件视为c,尽管这不是必需的。如果您有
\include
,则键入
bool
有效。除此之外,尝试添加一个C++构造,看看会发生什么。如果C++包含了一个C++头,我认为你不可能检查。我经常看到人们使用C++代码。在这种情况下,简单地扫描扩展不足以消除C或C++的歧义。不过,所使用的可执行文件是一个很好的提示(即gcc与g++)。@Chnossos是的,但无法编译头文件。然而,该报头将包含在C++或C源文件中。实际上,您可以将标题编译为“”。但无论如何,语言都需要匹配。