ETH官方钱包

前往
大廳
主題

VScode 編譯大型C語言

聚賢莊 | 2024-08-08 01:33:05 | 巴幣 0 | 人氣 46

方法簡介:使用gcc編譯器,先安裝gcc環境路徑後利用vscode介面,在cmd終端使用gcc編譯器,及cmd執行加偵錯。

先使用vscode打開資夾後,vscode會自動產生一個.vscode檔案

main函數引用方式,到底要寫.c還是.h我也不知道,我是寫.h我寫.c容易出錯,書上是都寫。
c檔寫函數內容,h檔寫函數名稱沒寫.h檔也真的容易報錯。
=========main.c=======
#include "lab.h"
#include "def.h"
#include "def.c"//書上有寫,我沒寫
=====================


在.vscode 自己手動新增一個tasks.json,在args項目中新增所有要一起編譯的檔案名稱,最後加個生成exe檔的名稱與路徑(資料夾要自己調),按shift+ctrl+B,不要按右上角的三角形,選項中沒有目前只能用按的,。
======================
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-g",
                "def.c",
                "lab.c",
                "main.c",
                "-o",
                "${workspaceFolder}\\Debug\\outDebug.exe" //可以指定路徑
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [
                "$gcc"
            ],
            "detail": "Generated task by ChatGPT"
        }
    ]
============================

編譯完畢後到launch,json中這裡的內容vscode在打開資料夾時會自動填好,要注意的是program中的exe檔路徑有沒有正確,gpt與vscode預設不一樣,所需要的資料夾需要手動創建。。
還有要注意的是有沒有安裝gdb項目,這是在gcc編譯器底下的偵錯器,沒安裝的話要補一下。
設定完後按F5 執行,或是window直接執行EXE檔也可以。
===========================
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "C/C++ Runner: Debug Session",
      "type": "cppdbg",
      "request": "launch",
      "args": [],
      "stopAtEntry": false,
      "externalConsole": true,
      "cwd": "c:/...FOLD",
      "program": "c:/...FOLD/Debug/outDebug",   //exe檔
      "MIMode": "gdb",
      "miDebuggerPath": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}
===========================

按下F5進入debug後(右上角的按鍵也不會照json執行,只能用按的),如果沒有在程式中按中斷點就是一般的執行不會戰停下來也無法看到變數內容,就算是有寫system pause也不行。
加入中斷點後在監看欄位的右上角的加號(隱形了),加入變數名稱即可查看變數的值或結構內容。或是另外一個下方欄位中偵錯主控臺打想要的變數名名稱、判斷式...會直接顯示結果。


這個方法只是我用gpt教我的結果,有問題就問gpt,大概不是最方便的,用完之後覺得vscode在這方面真的有點蠢,可能比較適合中小型專案。

創作回應

相關創作

更多創作