<分区>
我读到大多数新的C++编译器都可以编译C和C++程序,还读到不要将扩展名.cpp用于C编程文件,以告知编译器在C中编译。什么是使用 C++ 编译器的“C 编译”和“C++ 编译”的区别。给一个C程序扩展名.CPP用C++编译器编译有什么问题吗?
给定一个带有 C++ 约束的 C 程序(比如不使用类型名、新的、私有(private)的、类等作为标识符),与 C 编译器相比,C++ 编译器编译带有 .CPP 扩展名的 C 程序有何不同。
标签 c++ c compilation
<分区>
我读到大多数新的C++编译器都可以编译C和C++程序,还读到不要将扩展名.cpp用于C编程文件,以告知编译器在C中编译。什么是使用 C++ 编译器的“C 编译”和“C++ 编译”的区别。给一个C程序扩展名.CPP用C++编译器编译有什么问题吗?
给定一个带有 C++ 约束的 C 程序(比如不使用类型名、新的、私有(private)的、类等作为标识符),与 C 编译器相比,C++ 编译器编译带有 .CPP 扩展名的 C 程序有何不同。
最佳答案
What is the difference in "C compile" and "C++ compile" using a C++ compiler.
各自根据不同语言的规则解释源代码。一种解释为 C,另一种解释为 C++。
Is there any problem when a C program is given extension .CPP and compiled with a C++ compiler ?
是的。尽管 C 与 C++ 的一个子集非常相似,但在很多情况下,有效的 C 并不是有效的 C++。例如,某些关键字在 C++ 中是保留的,但在 C 中不是:
int private = 42;
int class = 7;
C 中允许一些类型转换,但 C++ 中不允许
char * array = malloc(32);
如果您对 C++ 编译器正在编译的语言撒谎,则其中任何一个以及除此之外的更多内容都会导致 C++ 编译器失败。
关于c++ - 为什么不将 .cpp 转换为 c 程序文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28557242/