是否存在使用g ++无法正确编译有效C代码的情况

ewo*_*wok 5 c c++ compiler-construction gcc g++

可能重复:
"C++的C子集" - >哪里没有?例子?

我知道C是C++的一个子集(即不存在有效的C代码,它不是有效的C++代码).我的问题是是否g++与所有C代码完全兼容.例如,将

g++ -o testing test.c
Run Code Online (Sandbox Code Playgroud)

产生相同的二进制文件

gcc -o testing test.c
Run Code Online (Sandbox Code Playgroud)

在所有情况下?

更具体地说,如果他们并不总是创建相同的二进制文件,那么有什么理由可能会出现问题吗?g++如果我不确定代码,总是使用它是否安全?

dje*_*lin 6

C不是C++的子集.

尝试:

foo.c的

int main() {
    int class = 0;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

无论如何,这里有趣:C哪里不是C++的子集?

  • 您应投票以关闭*完全重复*(或在问题中添加注释),而不是提供基本上是链接的答案 (2认同)
  • 除了发布这个答案之外,我标记为完全重复,因为我没有代表关闭. (2认同)