C语言环境安装
搭建环境
在Windows上使用GCC编译器以及一些GNU工具链来模拟Linux 下的C语言
安装 MinGW-W64
下载一个64位Windows版本的GCC——MinGW-W64
[下载地址] https://sourceforge.net/projects/mingw-w64/files/
推荐下载seh
版本
将编译器安装到自己准备好的目录,完成安装后,还需要配置一下环境变量,将安装目录下的bin
目录加入到系统Path环境变量中,bin
目录下包含gcc.exe
、make.exe
等工具链,这些也就是GNU工具链。
检查环境
配置完成后,检测一下环境是否搭建成功,打开cmd
命令行,输入gcc -v
、make -v
能查看版本号则成功。
选择编辑器
能同时满足简单好用、界面美观、功能强大、轻量级等特点的编辑器并不多,推荐最目前最流行人气最高的VS Code编辑器
安装编辑器和插件
首先下载VSCode
编辑器 ,然后安装插件并配置调试环境。官方下载地址 https://code.visualstudio.com/
注意,这里是VSCode
编辑器,不是Visual Studio
IDE,这完全是两个不同的东西,虽然都是微软出品。
有了编辑器,但我们还需要安装一个C/C++
插件,它能进行一些代码智能提示、语法检查之类的辅助功能。我们打开编辑器,在插件商店中搜索C/C++和Code Runner插件,点击Install
进行安装,安装完成后,可能需要重启编辑器。
配置调试环境
在学习C语言的过程中,借助调试功能可以帮助我们形象的理解很多概念,而且调试功能对于我们查找BUG等问题非常有帮助。
如何配置调试环境呢?实际上VS Code编辑器并不具备任何调试功能,调试功能是GNU工具链提供的,它在我们之前安装MinGW-W64的那个bin
文件夹里面,它的名字叫gdb.exe
,如果大家之前的环境配置Ok,那么可以在cmd命令行输入gdb -v
查看调试器的版本。这其实就是告诉大家,即使你不配置VS Code,也可以直接在命令行输入gdb
命令来调试代码,但是这样会显得繁琐和不友好,配置一下VS Code就能通过图形界面的方式来调试程序,体验瞬间提升。
官方提供的配置调试环境的完整指导教程 https://code.visualstudio.com/docs/cpp/config-mingw
具体步骤如下
- 创建一个存放代码的文件夹,例如
c_code
,然后新建一个文本文档,改名为test.c
文件 - 打开VS Code编辑器,在顶部菜单栏中选择【File】=> 【Open Folder】来打开刚刚创建的
c_code
文件夹 - 在编辑器左边的资源管理栏中选择
test.c
文件打开,并输入如下测试代码保存
#include <stdio.h> int f1(int n) { int p; p = n * 8 + 2; return p; } void main() { int j, k; j = 8, k = f1(j); printf("result is %d", k); }
. 按【F5】键调试,这时会弹出一个对话框,选择打开编辑 launch.json
配置文件,有时候可能会直接跳出launch.json的配置文件,根据实际情况修改默认配置即可
"miDebuggerPath"
值配置成你自己电脑上的gdb.exe
路径,其余可参照我这份配置即可。
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceRoot}/${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "E:\\c-study\\mingw64\\bin\\gdb.exe", "preLaunchTask": "build c project", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true, } ] } ] }
配置调试前的编译任务。我们要想调试代码,首先需要将代码加特定参数编译成可执行程序,这一步就是配置编译任务的。
在编辑器中,使用组合快捷键【Ctrl】+【Shift】+【p】打开命令面板,输入Tasks:
进行联想,选择如下的Default Build Task
创建一个tasks.json配置文件
"label": "build c project"这里是给这个任务起了一个名字,这个名字叫什么不重要,但是它直接对应的是launch.json中的"preLaunchTask": "build c project"这一行,因此两边名字一定要一致。
{ "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "build c project", "command": "E:\\c-study\\mingw64\\bin\\gcc.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "编译器: E:\\c-study\\mingw64\\bin\\gcc.exe" } ] }
检测调试环境。给代码加一个断点
给第13行代码打了一个断点,编辑器里面会呈现出一个红色小点,启动调试时,程序就会在第6行卡住。我们直接按【F5】键开启调试,会发现代码卡在了第6行,该行会变色,观察断点处也有变化
如果想直接运行写好的代码,可以使用鼠标点击运行
显示输出的结果,同时,在当前代码目录下还会生成一个同名可执行文件text.exe