Visual Studio中的C编程

129

我可以使用Visual Studio来学习C编程吗?在新项目菜单中,我可以选择Visual Basic、Visual C#、Visual C++、Visual F#和其他选项,但是我没有看到"C"或"Visual C"。


3
VS仅支持C89的子集,如果你需要在Windows上使用真正的C编译器,你需要安装mingw-64。 - Mgetz
5
比起2012版,Visual Studio 2013对C语言的支持更加出色。 - Inisheer
我有书籍和视频教程,但它们在编译和编写代码时都有自己的建议。我只想使用我熟悉的工具。 - HelloWorld
只需用艰苦的方式学习C语言:在学习一门新语言时,IDE可能会减慢您的学习速度。请参见此页面底部的注释http://c.learncodethehardway.org/book/ex0.html - Jérôme Radix
3
@JérômeRadix在同一个段落中说“一款集成开发环境(IDE)会让你变得愚蠢”,但他也说“如果你试图完成某些任务,它们是有用的”。他接着说对于C语言来说它们是无意义的(但这似乎是因为他没有找到一个好的IDE)。我相信,如果要编写GUI或学习编写GUI,并且当然使用库时,如果有好的C语言IDE,那么它将非常有用,而不是毫无意义。 - barlop
18
对我来说,说一个集成开发环境(IDE)会让你变得愚蠢,就像说一个调试器或反汇编器会使你变得愚蠢一样。这只是一个工具。了解它的作用,并知道它不能替代学习基本原理。不要因为有些人使用它来避免学习而把它变成一个妖怪。 - PeterT
6个回答

109

简短回答:是的,您需要将 .cpp 文件重命名为 c,这样才能编写 C 代码:

https://msdn.microsoft.com/en-us/library/bb384838.aspx?f=255&MSPPError=-2147217396

根据上面的链接:

默认情况下,Visual C++ 编译器将所有以 .c 结尾的文件视为 C 源代码,将所有以 .cpp 结尾的文件视为 C++ 源代码。要强制编译器将所有文件视为 C,而不考虑文件扩展名,请使用 /Tc 编译器选项。

话虽如此,我不建议在 Visual Studio 中学习 C 语言,为什么要用 VS?它有很多你在学习 C 时不会使用的功能。


44
通常来说,“学习C语言”(或C++)并不难,难的是学习如何构建有用的(通常是GUI界面的)应用程序,这需要熟悉各种库和框架,而IDE可以使这种经验更加可管理。 - Dai
16
我已经熟悉使用其他语言的 Visual Studio。 - HelloWorld
15
请确认一下,确保未设置/TP编译标志。如果设置了该标志,则会将.c程序构建为C++。 - cup

66

是的,您可以使用Visual Studio学习C语言。

Visual Studio自带其自己的C编译器,实际上是C++编译器。只需使用.c文件扩展名保存源代码即可。

您不必使用IDE来编译C语言代码。您可以在记事本中编写源代码,并在使用Visual Studio附带的开发人员命令提示符通过命令行进行编译。

打开开发人员命令提示符,进入您正在工作的目录,使用cl命令来编译您的C代码。

例如,cl helloworld.c 编译名为helloworld.c的文件。

有关更多信息,请参阅: 在命令行上编译C程序的演练

希望这有所帮助。


20

没错,Visual Studio的所有版本都没有列出C,但它包含了C++编译器(因此需要在C++下查找)。使用C和C++的主要区别是命名系统(即使用.c而不是.cpp)。

但要注意,不要创建一个C++项目并将其重命名为C,那样是行不通的

使用命令行编写C代码:

就像你可以在Linux上使用gcc一样(或者如果您已安装MinGW),Visual Studio也有一个命令可用于从命令提示符中使用(但必须是Visual Studio开发人员命令提示符)。如其他答案所述,您可以使用cl编译您的c文件(确保它的命名为.c)。

例如:

cl myfile.c

或者检查所有被接受的命令:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27030.1 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>

从IDE开始编写C代码:

毫无疑问,Visual Studio最好的功能之一是方便的集成开发环境。

虽然需要更多配置,但您可以获得基本的调试功能(例如,如果您忘记了;,在编译之前进行调试)。

创建C项目,请按照以下步骤操作:

启动新项目,在C++下选择空项目,输入您的项目名称和要安装到的位置,然后单击确定。现在等待项目创建完成。

enter image description here

接下来,在解决方案资源管理器下右键单击源文件,选择添加,然后选择新建项。你应该会看到像这样的东西:

enter image description here

Source.cpp重命名以包含.c扩展名(例如Source.c)。选择您想要保存它的位置,我建议始终将其保留在项目文件夹本身中(在这种情况下为C:\Users\Simon\Desktop\Learn\My First C Code)。

它应该打开.c文件,准备进行修改。现在可以像平常一样使用Visual Studio编程了!


10
是的,你可以:
使用C ++项目模板创建C语言项目。在生成的项目中,找到扩展名为.cpp的文件,并将其更改为.c。然后,在项目属性页面(而不是解决方案)上,展开“配置属性”,“ C / C ++”并选择高级选项。将编译设置更改为编译为C代码(/TC)。 https://learn.microsoft.com/en-us/cpp/ide/visual-cpp-project-types?view=vs-2017

3
您可以使用Visual Studio进行C编程,但如果您想认真学习最新的C语言,我建议使用像Code::Blocks和MinGW-TDM版本这样的工具,您可以获得32位版本。我使用的是支持最新的C和C++的5.1版本。另一个好处是它更适合创建可轻松移植到其他平台的软件。例如,如果您使用SDL库进行C编程,可以创建可以在Linux、Apple和许多移动设备上重新编译的软件,而几乎不需要更改代码。考虑到微软目前的走向,我认为这绝对是更好的选择。

1
非常感谢您的帮助,我真的很感激。对于我的信息可能过于严厉,我感到抱歉。我同意您的回答可能对某些人有用。现在我只是想给您反馈,以便您可以写出更好的文章。我想说的是,这并没有为OP关于如何在MS VS中编写C的问题提供答案。 - HolyBlackCat

0

下载 Visual Studio C++ Express 版本 2006、2010 等。然后进入创建新项目,选择 C++ 项目,勾选 cmd 项目并将 cc 重命名为 c 扩展名的文件名。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接