C
和C++
是不同的语言,我仍然可以在Visual Studio 2010中在C++项目下编译它们。这是为什么?编译器是否将C
文件解释为C++
?在Visual Studio 2010中编译`C`文件时,它是否编译为C++文件?
回答
是的,它被编译为C++文件,除非在源文件中有“.C”扩展
除了少数例外,C语法也是合法的C++的语法,所以C源代码会被经常成功编译一个C++编译器。
使用/ TP选项(在较快的打字员Bathsheba握着拳头......):) – Jiminion
不,它被编译为C代码。
Visual Studio中的C++项目可以包含C++和C代码。 cl编译器识别文件扩展名并相应地编译它。
以.c结尾的文件将被编译为C代码。以.cpp或.cxx结尾的文件被编译为C++。这可以根据记录进行更改here
C不是C++,但是这两种语言的设计方式保持了兼容性。
有一个特定的公用子集允许编写可以包含在C和C++编译单元中的.h文件;这取决于语言标准。
更重要的是,虽然标准没有规定它们,但他们默默地认为在给定的机器上这两种语言将共享所谓的ABI-应用程序二进制接口。这允许从一种语言到另一种语言进行呼叫。
与C#,Java或VB.Net等需要将项目的所有文件编译为批处理的语言不同,C和C++基于各个编译单元的想法。因此,可以将不同类型的文件(C,C++,Asm)包含到单个项目中。
然而,人们可以在另一个角度来看待它。我有一个C#项目,其中一些C#源代码由T4生成。我可以将其视为一个项目,其中生成的程序集是由C#文件构成的,但C#文件本身可能通过一些准备步骤(如T4转换)获得。
以相同的方式,就可以把一个C++项目为其中所得到的组件从对象文件所做的一个项目,但对象文件可以通过一些准备步骤,如C或C的汇编获得++编译单位。并且介意,你也可以将准备好的目标文件包含到你的项目中(通常是批量调用库)。
不,它不是编译为C++,因为visual studio同时支持c和C++ .. 如果你编译c程序,它被编译为c只...如果你想编译一个单一的程序你只需添加c和C++的头文件。 (例如#include #include ,如果你同时使用两个头文件,你可以同时编译这两个程序,也可以在C++中使用printf scanf,并且你可以在c编程中使用cin和cout ..谢谢!
- 1. Visual Studio 2010将.cpp文件编译为.c文件
- 2. 编译C文件在Matlab与Visual Studio
- 3. 在Visual Studio 2010中编译C不会创建.EXE文件
- 4. 如何在visual studio 2010中编译C?
- 5. visual studio 2010 c#winform运行时编译
- 6. 如何编译Visual Studio 2010中的Pro * C文件
- 7. 如何在Visual Studio C++ 2010中将不同的扩展文件编译为C++?
- 8. Visual Studio 2012将.c文件编译为cpp文件
- 9. Visual Studio似乎将头文件编译为.c文件
- 10. Visual Studio编译文件
- 11. 编译* .lib文件visual studio
- 12. 用C++编译器编译C99文件
- 13. C++编译文件
- 14. 编译C文件
- 15. 编译C++从源C++文件在Windows在Visual Studio
- 16. visual studio 2010 c#简单编译帮助
- 17. Visual Studio 2010的C++编译器
- 18. Visual Studio 2010的C#单行编译
- 19. 试图在Visual Studio 2010中编译Tessnet2(Visual Studio 2008 C++)项目
- 20. visual studio编译时插件
- 21. 如何在visual studio中编译C++文件?
- 22. Visual C#编译后缺少app.config文件
- 23. 将C++ Win32项目编译为Visual Studio 2008下的.exe文件
- 24. 编译C++在Visual Studio在汇编
- 25. 问题编译使用Visual C#中的.sln文件2010速成
- 26. 在Visual Studio(C#)编译时设置值?
- 27. C#编译Visual Studio程序
- 28. C#编译没有visual studio
- 29. 即使在指定ProjectDir(Visual Studio 2012)后编译包含文件的pro * C文件时发生编译错误
- 30. 将C++(.cpp)编译为.exe文件
对于那个 – paulm