Visual C ++ 2008 Express Edition是否可以编译C源代码?

时间:2010-06-28 13:32:25

标签: c compilation compiler-construction

我希望学习C,这样我就能理解许多主要编程语言背后的概念,而没有C ++所拥有的快捷方式,或者Java所拥有的垃圾收集器。我打算学习C然后去C ++,我目前正在学习计算机科学。

无论如何,我想知道用于Windows机器的Visual C ++ 2008 Express Edition编译器是否能够编译C源代码。我会这么认为,因为你可以将C实现为C ++。 然而,当我尝试创建文件时,没有C选择。我可以创建头文件,但我不确定C或C ++需要哪些文件。我知道最少的信息。

如果我不能用该编译器编译C,是否有另一个编译器可以使用?

编译C.

感谢。

5 个答案:

答案 0 :(得分:5)

如果你用.c扩展名保存它,它会将源代码编译成C89的方言。

它不会编译C99。

答案 1 :(得分:1)

只需重命名文件“.c”,它将以“C”模式编译。

或者右键单击项目选择属性。然后导航到Configuration Properties-> C / C ++ - > Advanced并将“Compile As”设置为“Compile as C code(/ TC”)。括号中的位是命令行开关,如果你想使用它。

答案 2 :(得分:1)

是的,你可以。

如果您对源文件赋予“.c”扩展名,则它将被编译为C代码。

您还可以在项目选项(针对整个项目)或文件选项(针对特定文件)中指定编译模式(C或C ++)。

答案 3 :(得分:1)

没问题,VC有一个C89兼容的C编译器。它从文件扩展名自动检测语言,.c文件将编译为C.或者通过右键单击文件,属性,C / C ++,高级,编译为= / TC来强制它。避免这样做。

当您开始使用Win32控制台应用程序项目模板时,您需要进行一些更改。模板的设计假设您使用的是C ++。右键单击stdafx.cpp,重命名为stdafx.c。重复项目的.cpp文件。现在所有内容都将编译为C,包括对预编译头文件的支持。

现在可以说要立即用C ++开始了。也许是另一个问题的好主题。

答案 4 :(得分:-1)

还有其他值得一提的,你应该能够将C代码编译成C ++而没有任何问题。如果您使用外部代码,则可能会出现链接问题,因为C ++编译器将使用不同的调用约定(以及名称修改),但如果您只是使用自己的代码,那么这应该不是问题。