大一新生如何在VSCode中编写C语言

​想当年楼主大一的时候,为了在VSCode中编译c语言花了好几个晚上的时间去研究,当时不懂什么是编译器什么是编辑器,为什么同样是写代码的东西,DevC++就可以直接运行写好的代码而VSCode却不行。现在把知识分享出来,希望能帮到新来的学弟学妹们。

​简单来说,编辑器就是类似word这种对文本进行编辑的软件,它的功能就是编辑文字(对程序员来说就是编辑代码),而一段已经编辑好的代码想要运行起来,就需要让编译器将代码编译成电脑能够识别的东西。

DevC++可以直接运行代码,是因为它内置了名叫GCC的编译器,并且所有的配置(怎么调用编译器、怎么生成编译好的程序、编译过程要链接的文件等)都是帮你写好的(DevC++的使命本就是开发c语言程序)。

而VSCode的本质是编辑器,虽然基于丰富的扩展功能可以实现编写几乎所有的代码,但是那些扩展的用途只是给你提供编写代码过程中的代码补齐、报错等功能,想要通过编译这一步还需要你自己去网上下载编译器并在VSCode中进行配置。(你可能注意到上面说的DevC++自带编译器,那么我们也可以跳过下载编译器这一步而直接配置VSCode让它使用DevC++里的编译器,但是由于DevC++年久不更新,它自带的编译器版本也很老了,不建议使用)

​ 在Windows系统下,可以使用的好用的c编译器不多,Windows系统专属有专属的编译器叫MSVC,这个编译器在Windows上的编译速度可以说是瞬间编译完成,但是这个编译器只能在Visual Studio中使用,想在VSCode中完美的配置好比较困难,所以这里使用从GNU系统移植过来的GCC编译器。

一、下载安装VSCode

VSCode在官网就可以免费下载,并且下载速度不差。
VSCode官网:https://code.visualstudio.com/


⬆点击左侧的Download for Windows即可下载。

⬆在这一步建议将所有选项都选上。

完成安装后,在左侧扩展栏中安装三个插件,第一个是Chinese (Simplified) (简体中文) Language Pack for Visual Studio(中文补丁),第二个是C/C++(帮助配置编译环境),第三个是C/C++ Extension Pack(提供代码补齐)。

重启VSCode后你的界面就变成中文了。

二、下载GCC编译器(MinGW-w64项目)

打开MinGW-w64项目的GItHub仓库:https://github.com/niXman/mingw-builds-binaries/releases

选择x86 64-xxx-release-win32-seh-msvcrt xxx.7z下载。

打不开网站的朋友,可以使用Watt ToolKit进行加速。也可以使用我下好的版本:
链接:https://pan.quark.cn/s/9fee13e652a6
提取码:SbHe

将下载好的文件解压,得到一个mingw64文件夹,这就是编译器文件夹了,然后把这个文件夹移动到一个确保你不会乱动到的地方,这里推荐C:\Windows

三、配置编译环境

在任务栏搜索高级系统设置并打开。

点击环境变量(跟配置Java的那一套一样)

选择系统变量中的Path,然后点编辑。

新建,输入编译器文件夹中bin文件夹的地址(以第二步的地址为例):C:\Windows\mingw64\bin

然后一路点确定关掉所有窗口。

最后查看是否配置成功:

按键盘上的Win+R打开运行窗口,输入cmd并运行。

输入gcc -v并回车,最后一行显示gcc编译器版本说明配置成功。

四、配置VSCode(基础)

打开你的VSCode,在左侧栏的资源管理器中选择打开文件夹,找个地方新建一个空的文件夹作为你专门存放代码文件的地方(如果你的电脑用户名是中文的话,这个文件夹不能在桌面上,这个后面再说)。这里给这个空的文件夹命名为“Code”。

选择好后会弹出一个窗口,选择即可。

接下来先写一段小代码,这里写个hello world

选择新建文件,输入文件名,记得带后缀 .c

输入代码

然后按键盘上的F5运行(如果你的F5按了没用,就按Fn+F5),选择C++(GDB/LLDB),然后选自动检测到的任务(看到gcc.exe就是了)。

然后静静的等待一段时间,让他自动生成编译用的的配置文件,最后看到下方的终端打印成功就好了。

然后你会看到左侧的文件夹里面多出来一些东西:

其中.vscode文件夹里的就是自动生成的配置文件了;下面的hello.exe是编译好的可执行程序。

接下来我们打开这个tasks.json文件来了解一下里面的内容

其余内容不用关注,我们只用来看"args"中的内容就行。这里五行代码的意思是:

1.开启色彩显示;

2.编译;

3.要编译的文件叫什么名字,${file}的意思是你当前正在编辑的这个文件;

4.链接;

5.链接后的文件应该叫什么,这里的意思是在代码所在的这个文件夹下和代码文件名字一样的exe文件。

如果你需要添加一些其他的配置,跟着加在这五行后面就可以了。

这里就要说一下之前为什么说用户名不能为中文了,实际上是你的代码所在的路径上不能有一个中文,右键刚刚写的代码文件选择在文件资源管理器中显示,就能看到地址栏上有没有中文了:

我们可以新建一个中文名称的代码文件来试试看:

运行,出现以下报错:

报错的意思是:名为"你好世界.exe"的文件不存在。但是我们能看到左侧的"你好世界.exe"已经生成好了,问题出在VSCode编译好文件后,打开可执行文件的那一步。

这时候我们可以转到文件资源管理器中手动打开这个生成好的exe文件,但是我们的目的是编辑-编译-运行一步到位,所以还是要来解决一下这个问题。

第一种方法:写代码时不要使用中文命名。

第二种方法:在上图选择“打开launch.json”让他生成一个launch.json文件,先不用管这个文件,我们把视角拉回tasks.json中:将上面说到的"${fileDirname}\$ {fileBasenameNoExtension}.exe"改为"${fileDirname}\test.exe"。让他生成的exe文件的名字固定为test.exe,就不会在运行的时候出现不存在的问题了。

(改完记得按Ctrl+S保存一下)

然后我们回到“你好世界.c”,按F5运行

可以看到左侧的"test.exe"成功生成,并且运行成功了。

另外,你的代码文件名中也不应该含有空格,那样的话在编译时会将空格前后的字段视为两条命令而报错。

五、配置VSCode(进阶)

  • 如果你在for循环初始化中定义变量并赋值时出错,你可以按Shift+Ctrl+P,搜索C/C++:编辑配置(UI),找到C标准并把它改为C99或C11:

  • 如果你想在cmd中运行你的程序而不是在VSCode里的终端中,你可以打开launch.json,选择右下角的添加配置,选择C/C++:(gdb)启动,修改以下几行:

“program”:是你在tasks.json中设置的编译后生成的exe文件的名字;

“cwd”:是gcc编译器所在位置;

“externalConsole”:ture表示在系统终端(也就是cmd)中运行;

“miDebuggerPath”:是gdb.exe的路径,和gcc在同一个文件夹里的。

保存后再运行你的代码,会发现cmd窗口一闪而过,这是因为程序输出完文字后就直接退出了,我们需要在代码后面加上一行 system(“pause”); 来使程序暂停(如果还是一闪而过的话,就重启一下VSCode):

  • 如果你在运行时发现中文部分变成了乱码:

你可以到tasks.json中,在args部分添加一行配置(就像在第四点说的那样):“-fexec-charset=GBK”,让编译器使用gbk编码(记得保存)。

到这里就差不多可以满足日常学习敲代码的要求了,希望可以帮助到各位。

  • 32
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HRX.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值