24年上完计科专业更新 本地windows的c语言环境,建议自行安装msys或采用 wsl2环境(主推)Vmware VirtualBox等虚拟机方案,现在的wsl2带x11转发不是一般的好用

也可采用visual studio的非常完整的环境

直接使用devcpp的环境只是便捷之举,msys2很强。而且自己写json这种运行方法太不适合大项目了 cmake 、makefile才能自动化 建议直接找个用vscode的cmake教程自己学,,一步到位 免得将来看大项目发憷

因为许多大学生学习c语言时接触到的第一个IDE都是dev c++或者codeblock,而相对来讲VScode功能更强,使用更便捷,界面更现xuan代ku。

因为某些原因国内下mingw的速度比较慢,而且devcpp自带的编译器会更加贴合课程的要求。(而且基于下载的mingw的vscodec环境搭建教程已经很详尽了 但是步骤较多)

本教程仅仅三步无缝从devc升级为vscode…

#1 找到devc 集成的mingw路径

通常为:C:\Program Files (x86)\Dev-Cpp\MinGW64\bin(gcc,g++,gdb所在路径)

并将其添加到环境变量中

这时打开cmd 键入gcc -v就有了神奇的结果

顺便再通过命令行查看自己的配置路径:gcc -v -E -x c++ - 并记住,后面会用到。

有/.../不是bug!如果后续如果不这么写FILE *fp 会有问题的

#2官网下载安装vscode

link

安装好后打开并安装中文和c/c++插件

#3 找一个你想要把代码放进去的文件夹(一定要全英文且没有特殊符号,不然没法运行!)用vscode打开文件夹(左上角文件->打开文件夹 或者ctrl+k +o)

比如此文件夹

然后在文件夹下(会自动生成)的.vscode文件夹下新建 三个文件(这三个文件极其重要本人也摸索了半天,把我的结果贴在这,需要稍加改动即可正常调试。)

launch.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",//指默认文件操作的目录(如fopen的默认寻找位置),现在是c文件的目录,修改为${workspaceFolder}就是工作文件夹目录
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/gdb.exe",//路径要修改
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc.exe 生成活动文件"
}
]
}

tasks.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{
"version": "2.0.0",
"command": "gcc",
"args": [
"-g",
"${file}",
"-o",
"${file}.exe"
], // 编译命令参数
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "new",
"showReuseMessage": true,
"clear": false
},
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/gcc.exe",//路径要修改
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin"//路径要修改
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "编译器: \"C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/gcc.exe"//路径要修改
}
]
}

c_cpp_properties.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++",
"C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/x86_64-w64-mingw32",
"C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/backward",
"C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include",
"C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../include",
"C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include-fixed",
"C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/include"
//路径要修改
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/gcc.exe",//路径要修改
"cStandard": "c99",
"cppStandard": "c++98",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}

愉快的开始新建new.c 编程吧(注意文件名也不能有中文和括号)

注意有一个问题我一直没有解决就是F5debug运行到最后不会停住,在命令行里看不到结果,就闪退了,只能在程序结尾自行添加system(“PAUSE”);(引入stdlib.h)。

自动格式化代码需要改setting.json具体网上搜索。