版权声明:本文为博主徐松亮的原创作品,未经允许不得转载,多谢支持!QQ:5387603
推荐点击此链接:欢迎进入徐松亮博客一站式导航搜索(随时更新)
工欲善其事,必先利其器。后续,本博主要带领大家,会做多种数据算法和数据结构的实现,比如说内存管理,排序,三次样条,二叉树,九宫格,蚁群算法。。。这些主要用C语言来实现。虽然其他语言有现成的库,但因为本人主要擅长的是做嵌入式产品开发,目前大多数嵌入式芯片资源仍然有限,主流的开发语言仍然是C语言,所以,我们当前还是以C语言为主,逐步会融入python等。
目录
Visual Studio Code生成调试并修改文件launch.json
Visual Studio Code生成并修改任务文件tasks.json
一,Visual Studio Code简介
-
Visual Studio Code是什么
- 第一眼看到它,千万别以为他是Visual Studio(微软的综合性多语言集成开发环境,安装要几个G,费用昂贵)!!!
- Visual Studio Code也是微软出品,开源免费,跨平台(linux,MAC,windows)
- 可按需安装插件,自己制作好用的IDE(集成开发环境)。
- 因为支持插件的安装,可以开发python,C,C++,Java,PHP。。。语言的开发。
-
类似的程序编辑软件:
- 注意:不只是下面这些,只是罗列部分,蓝色为我本人常用。
- Notepad++
- Emacs
- Vim
- Sublime Text3
- UltraEdit
- eclipse
- source insight
-
为什么选择Visual Studio Code
- 最先声明的是,所有编辑软件存在既有价值,如果已经熟悉哪种软件,继续使用即可,没必要一定分出好坏。
- 微软出品,大品牌,品质稳定性值得信赖。
- 免费,开源,爽的不要不要的。
- 多插件安装,按需构建IDE,简单方便。
二,Cygwin的安装
-
为什么选择Cygwin
- 基于Windows的C语言编译环境,当前主要有下面三种
- Visual Studio:好用没话说,就是太大,安装几个G,而且常规使用不能用于嵌入式,商业收费。
- MinGW:如果只是基于Windows开发,不错的选择,而且运行速度快。
- Cygwin:相当于在windows环境中建立一套linux系统,运行速度略低于MinGW(所谓的慢就我们做这点代码,也是没有任何感觉的),但是因为其跨平台,本人还要做嵌入式的编译,如ESP8266,嵌入式linux产品等,所以它是我的不二选择。
- 基于Windows的C语言编译环境,当前主要有下面三种
-
Cygwin的安装步骤:
- 相见本人相关博客:
- 注意:千万别忘记设置环境变量。
三,Visual Studio Code的安装
-
官网网站下载软件
-
安装软件
- 逐步下一步安装即可,没有什么特殊的步骤,一路默认安装即可,在此不再贴图。
-
配置语言为中文(本人因为英文不好,所以仍然使用英文版)
- 安装中文语言包
- View---Command Palette...(或者快捷键shift+ctrl+p)
四,插件的安装
-
安装插件:C/C++
- 功能:这个插件添加了对c/c++语言的支持,包括代码格式化、智能感知、代码浏览等,但不包含编译。
- 安装截图:
-
安装插件:code runner
- 功能:
- 可以动态的运行选中的代码区块。
- 为多种语言运行代码片段或代码文件:C, C++, Java, JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, F# (.NET Core), C# Script, C# (.NET Core), VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D, 和定制命令。
- 安装截图:
- 功能:
-
安装插件:Native Debug
- 功能
- 用于gdb图形化调试你的C/C++程序
- 支持GDB和LLDB
- 安装截图:
- 功能
五,实例验证
-
电脑端新建文件夹
- 目的:用于存放工作区,在此我建立如下文件夹。
- 在visual_studio_code_c_test文件夹里建立code文件夹,在code文件夹建立一个c程序文件:
- 在xsl_test.c中写入如下实例代码:
-
#include <stdio.h> int main (int argc, char **argv) { int x = 0; int y = 1; printf("xsl test:g_var = %d, l_var = %d.\r\n", x, y); return 0; }
- 目的:用于存放工作区,在此我建立如下文件夹。
-
Visual Studio Code生成一个工作区
- File---Save Workspace as...
- File---Save Workspace as...
-
Visual Studio Code工作区加入文件夹
-
Visual Studio Code生成调试并修改文件launch.json
- 此时,会建立出一个launch.json的文件,我们把如下代码替换原代码
-
{ "version": "0.2.0", "configurations": [ { "name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示 "type": "cppdbg", // 配置类型,这里只能为cppdbg "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加) "launchOptionType": "Local", // 调试器启动类型,这里只能为Local "targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64 "program": "${file}.exe", // 将要进行调试的程序的路径 "miDebuggerPath":"D:/cygwin64/bin/gdb.exe", // miDebugger的路径,注意这里要与cygwin/MinGw的路径对应 "args": ["blackkitty", "1221", "# #"], // 程序调试时传递给程序的命令行参数,一般设为空即可 "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false "cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台 "preLaunchTask": "gcc" // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc } ] }
- 截图如下
-
Visual Studio Code生成并修改任务文件tasks.json
- 进行到此步就可以看到工作区已经生成了tasks.json文件
- 用如下代码替换原tasks.json代码
-
{ "version": "2.0.0", "command": "gcc",//对应"preLaunchTask"c++为g++, c为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 } } }
- 截图如下:
-
Visual Studio Code执行debug
- 打开xsl_test.c文件,设定断点.
- 执行Debug,如下图
- 此时,应该可以看到已经进入了仿真环境,如下图:
- 我们执行以下单指令运行命令,看终端是否能够显示打印内容:
- 我们可以看到,终端成功显示了我们的程序打印内容。
- 到此,可以说明,我们的环境搭建成功。
六,说明与注意事项
- 上面执行的步骤,只是教大家建立最基本的C语言开发环境,并没有好的框架。
- 上面的两个配置文件(launch.json和tasks.json),并不是最优配置,只够演示使用,所以有很多不合理的地方。