版權聲明:本文爲博主徐松亮的原創作品,未經允許不得轉載,多謝支持!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),並不是最優配置,只夠演示使用,所以有很多不合理的地方。