2014-03-13 128 views

回答

3

是的,它被编译为C++文件,除非在源文件中有“.C”扩展

除了少数例外,C语法也是合法的C++的语法,所以C源代码会被经常成功编译一个C++编译器。

+1

使用/ TP选项(在较快的打字员Bathsheba握着拳头......):) – Jiminion

6

不,它被编译为C代码。

Visual Studio中的C++项目可以包含C++和C代码。 cl编译器识别文件扩展名并相应地编译它。

以.c结尾的文件将被编译为C代码。以.cpp或.cxx结尾的文件被编译为C++。这可以根据记录进行更改here

3

C不是C++,但是这两种语言的设计方式保持了兼容性。

有一个特定的公用子集允许编写可以包含在C和C++编译单元中的.h文件;这取决于语言标准。

更重要的是,虽然标准没有规定它们,但他们默默地认为在给定的机器上这两种语言将共享所谓的ABI-应用程序二进制接口。这允许从一种语言到另一种语言进行呼叫。

与C#,Java或VB.Net等需要将项目的所有文件编译为批处理的语言不同,C和C++基于各个编译单元的想法。因此,可以将不同类型的文件(C,C++,Asm)包含到单个项目中。

然而,人们可以在另一个角度来看待它。我有一个C#项目,其中一些C#源代码由T4生成。我可以将其视为一个项目,其中生成的程序集是由C#文件构成的,但C#文件本身可能通过一些准备步骤(如T4转换)获得。

以相同的方式,就可以把一个C++项目为其中所得到的组件从对象文件所做的一个项目,但对象文件可以通过一些准备步骤,如C或C的汇编获得++编译单位。并且介意,你也可以将准备好的目标文件包含到你的项目中(通常是批量调用库)。

0

不,它不是编译为C++,因为visual studio同时支持c和C++ .. 如果你编译c程序,它被编译为c只...如果你想编译一个单一的程序你只需添加c和C++的头文件。 (例如#include #include ,如果你同时使用两个头文件,你可以同时编译这两个程序,也可以在C++中使用printf scanf,并且你可以在c编程中使用cin和cout ..谢谢!

相关问题