小甲鱼 发表于 2023-2-7 04:35:59

VSCode搭建C语言学习环境超详细教程

VSCode搭建C语言学习环境超详细教程

缘起

都 2023 年了,Windows 都更新到 11 了,但还是发现有很多朋友在苦苦寻觅 VC++6.0 的安装包……

究其根源,无非就是现在很多学校的教学,都仍然还在使用 VC++6.0 这个老古董!!

VC++6.0 在当打之年确实是经典,没错!

但放到现代,真的已经是廉颇老矣……且不说在 Windows 7 以后,娘家(微软)就主动放弃了对其的兼容性。

更甚者,时代在进步,C 语言的标准也一直跟着更迭,VC++6.0 可是 98 年的产物,支持的是 C89 的语法标准,

究竟有多落伍,大家可以看一下这张表:


时间 C 语言语法标准
1972 诞生
1978 K&R C
1989/1990 C89
1999 C99
2011 C11, C1x
2018 C17
2023 C23, C2x

VC++6.0 支持的 C89 是跟它同一个年代的 C 语言语法标准,距离最新版的标准已经过去 34 年了。

这说明什么问题?

这说明即使你用 VC++6.0 学会了 C 语言,放到现代环境中开发,100% 会出错!

我们学习不就是为了以后工作能用得上嘛?

既然用不上,那还浪费这个时间干什么~


安利

前几年小甲鱼做了《带你C带你飞》的 C 语言系列课程,采用的是 VisualBox + CentOS 的方案(感兴趣的同学可以参考 -> 传送门)。

不过后面有一些鱼油反馈,在环境搭建上遇到了不少阻碍,希望小甲鱼给弄一个 Windows 上的实现方案。


OK,这不就来了嘛~

这篇文章,小甲鱼教大家如何使用 VSCode 搭建 C 语言学习环境!

VSCode 是微软开发的一个开源文本编辑器(看,微软也在转变,竟然投向开源的怀抱了),近几年可谓风头出尽,颇有龙头之姿~

因为相较于其他编辑器来说,VSCode 有着非常多的优点,从而让开发者们对其爱不释手。

其中最让大家欣喜若狂的就是 VSCode 附带了一个非常成熟的插件应用市场,

几乎任何开发者的需求都可以通过插件来扩充实现。

得益于该插件市场,VSCode 在保持非常轻量化的同时,

还支持开发者将其打造成自己想要的开发环境,这就非常伟大了!


开拔

1. 下载并安装 VSCode

由于是开源软件,VSCode 并不需要收费,咱们直接从官网(https://code.visualstudio.com)下载最新版即可:



然后运行安装包,全部点击 “下一步”,默认安装即可~


2. 下载 MinGW

MinGW 是什么?

大家知道为什么小甲鱼在《带你C带你飞》系列课程中,要花那么大的功夫去搭建 Linux 学习环境吗?

其实根本原因就是希望大家用最纯正的 GCC 套装进行 C 语言编程!

MinGW 其实就是 GCC 在 Windows 操作系统上的一个移植方案,MinGW -> Minimalist GNU for Windows,

MinGW 的工作原理是使用微软自身的运行库,来生成 Windows 下的执行代码。

MinGW 官方下载地址 -> https://sourceforge.net/projects/mingw-w64/

打开网页,点击 “Files”,拉到下方,选择 “x86_64-posix-seh”:



考虑到大多数鱼油外网下载不方便,小甲鱼给大家准备了备胎资源:

链接:https://pan.baidu.com/s/1_hMh5fQoPuZsJ0VpKgerww
提取码:cqkm

成功下载后,解压缩,里面有一个 “mingw64” 的文件夹,将其整个拷贝到 C 盘根目录下(放到其他盘也可以,但需要对下面出现的路径进行相应修改)。


3. 配置环境变量

进行 Windows 设置界面,在搜索框内输入 “环境变量”:



打开 “编辑系统环境变量”:



点击右下角的 “环境变量”:



双击 “Path”,在弹出窗口中点击 “新建”,然后将 C:\mingw64\bin 填入其中(这里演示是放在 C 盘,如果你放在了其他位置,注意要做相应修改):



使用 WIN+R 快捷键打开 “运行”,输入 cmd:



打开之后输入 gcc --version,出现以下内容说明配置成功:




4. 安装 VSCode 插件

a. 中文界面

将英文界面转换为中文界面,无疑会让大家更有亲切感。

依次点击 VSCode 左侧的扩展(①),在应用商店的搜索框中输入 Chinese(②),点击 “install”(③):



安装成功后重启 VSCode,即可看到熟悉的中文界面啦~


b. C/C++ 插件

C/C++ 插件是由微软官方开发并维护的,提供了丰富的 C/C++ 的开发支持。

在应用商店的搜索框中输入 C/C++,安装找到的第一个插件:




c. Code Runner 插件

Code Runner 插件支持一键运行代码,非常便捷。

在应用商店的搜索框中输入 Code Runner,将其装之:




5. 测试

在桌面创建一个文件夹,命名为 “test”。

点击 “资源管理器”(①),然后点击 “打开文件夹”(②),在弹出对话框中选择刚刚创建的 “test” 文件夹(③),点击 “添加”(④):



点击 “新建文件”,然后输入 test.c 创建我们的第一个 C 语言源文件:



在右侧代码框中熟练地敲写代码:

#include <stdio.h>

int main(void)
{
    printf("I love FishC\n");

    return 0;
}


如果前面的安装流程顺利,那么在右侧咱们应该可以看到一个三角形,点击它右侧的那个标标(v),然后点击 “Run Code”(当然,直接点击那个三角形也可以):



在底下的 “输出” 中,我们可以看到代码被成功地运行,并打印了我们耳熟能详的 “I love FishC”:




6. 支持控制台输入

那么大家后面可能会遇到的问题是 —— VSCode 不支持命令行输入,比如 scanf() 函数它不响应。

这个其实是设置问题,我们依次点击 “文件”(①),“首选项”(②),“设置”(③):



在弹出来的 “搜索设置” 中输入 RunInTerminal,将下面的方框勾选即可:




7. 中文字符乱码问题

你可能还会如果遇到中文字符输出乱码的,比如下面代码:

#include <stdio.h>

int main()
{
    printf("I love FishC.\n");
    printf("我爱小甲鱼。\n");

    return 0;
}
它的输出可能是这样的:

I love FishC.
鎴戠埍灏忕敳楸笺
中文输出我们一个字都不认识,甚至连字符数量都不对!

不要慌,这是典型的字符串乱码问题(通常在 Windows 系统中会出现)。

这是由于 VSCode 默认使用了 UTF-8 编码,而对于 C 语言,在 Windows 操作系统中,我们通常需要使用 GBK 编码。

使用快捷键 Ctrl + Shift + P,输入 “Settings”,打开 “Open Settings (JSON)”(如果没有,打开 “Open Settings (UI)” 也可以):



如果打开的是 “Open Settings (UI)”,点击右上角这个标志,可以将其转换为 JSON:



找到 “code-runner.executorMap”,然后找到 “c”,添加 “&& chcp 65001”:



如果没有可以自行添加一下:

    "code-runner.executorMap": {
      "c": "cd $dir && chcp 65001 && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
    },
保存之后,测试:



OK,成功了~

{:10_298:}

PS:不要将代码修改为 GBK 编码,因为这样的话尽管编译程序可以了,但是调试代码时还会出现乱码。


补充:

如果点击 “运行 C/C++ 文件” 和 “调试 C/C++ 文件” 报出类似 “Unable to start debugging. Unexpected GDB output from command ...” 的错误,

是因为路径中存在中文,无法被 C/C++ 插件解析,将路径中的中文修改为英文即可解决问题。


Clay_Chow 发表于 2023-2-7 05:53:27

学习中......

liuhongrun2022 发表于 2023-2-7 08:21:48

{:7_146:}

小mi糊 发表于 2023-2-7 09:38:01

打算在Vs中配置C,小甲鱼就发教程了,感谢

dolly_yos2 发表于 2023-2-7 09:45:57

不得不说这个 C++ 插件和 clangd/LSP 比差远了,前端个人使用体验也是 Clang 比 GCC 在查错能力、输出质量上高出不少。有能力的话还是建议配置这套环境

hornwong 发表于 2023-2-7 11:08:23

{:5_108:}

做最好的自己520 发表于 2023-2-7 16:25:56

卷就对了{:10_281:}

vedsok 发表于 2023-2-7 18:11:13

{:10_279:}

嘉岳呀 发表于 2023-2-7 18:14:15

看来我的这个还是失宠了:https://fishc.com.cn/thread-202936-1-1.html

{:10_266:}

元豪 发表于 2023-2-7 19:09:33

{:5_105:}

tomok 发表于 2023-2-7 20:48:04

如歌调试呢

一路高歌~ 发表于 2023-2-15 14:44:37

十分感谢

a327904410 发表于 2023-3-27 14:42:30

进我收藏夹吃灰吧{:10_256:}

七彩云南 发表于 2023-3-28 14:41:37

VSCode轻量吗,不敢苟同.

match123_xbd 发表于 2023-4-8 22:38:06

{:7_141:}

闲闲的又一天 发表于 2023-4-19 13:35:00

我的运行出错,有高手能帮忙看下什么原因吗?初学者没找到问题。谢谢
输出日志如下:
cd "c:\Users\admin\Desktop\C语言学习程序\ccode\" && gcc test.c -o test && "c:\Users\admin\Desktop\C语言学习程序\ccode\"test
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x2e): undefined reference to `WinMain'
collect2.exe: error: ld returned 1 exit status

exited with code=1 in 3.025 seconds

歌者文明清理员 发表于 2023-4-24 18:56:34

c/c++我喜欢devcpp,python…由于code是以终端形式运行程序的,所以我放弃了pycharm,但微软的东西我会小心对待{:10_256:}

dolly_yos2 发表于 2023-4-24 19:27:25

歌者文明清理员 发表于 2023-4-24 18:56
c/c++我喜欢devcpp,python…由于code是以终端形式运行程序的,所以我放弃了pycharm,但微软的东西我会小心 ...

我特别好奇您用不用 Windows,虽然从您之前的言行看是用的。既然这么反对微软何必还要使用 Windows?

歌者文明清理员 发表于 2023-4-24 19:33:49

dolly_yos2 发表于 2023-4-24 19:27
我特别好奇您用不用 Windows,虽然从您之前的言行看是用的。既然这么反对微软何必还要使用 Windows?

我妈给我买的windows,我咋知道为什么?linux没用,学而思都没有
mac确实不错
windows是主流(悲),mac我也想用,甚至想活在虚拟机里;vmware里没mac选项
另外,蓝桥杯什么的比赛推荐使用Windows,我有啥办法?win10自动更新,win7只能用到python37,还不如用mac
你有mac虚拟机教程吗

dolly_yos2 发表于 2023-4-24 19:52:22

歌者文明清理员 发表于 2023-4-24 19:33
我妈给我买的windows,我咋知道为什么?linux没用,学而思都没有
mac确实不错
windows是主流(悲),ma ...

感谢回答,我想我明白您的想法了。
页: [1] 2 3
查看完整版本: VSCode搭建C语言学习环境超详细教程