用vscode寫c/c++時, 為了方便, 會把不同的原始檔放在乙個資料夾裡
這裡不是做專案, 乙個原始檔就是乙個單獨的程式
然後生成的可執行檔案和源**就會放在乙個目錄裡, 還是同名, 就很容易點錯, 所以就想著改改
開啟vscode, 選單欄檔案
->首選項
->設定
使用搜尋功能, 搜尋code-runner
並找到excutor map
, 點選在settings.json
編輯
出來這樣的頁面, 我們要修改的是cpp
這一行, 當然, 其它語言也是一樣
修改成如下:
"cpp": "cd $dir && if [ ! -d \"bin\" ];then mkdir bin;fi && g++ $filename -o bin/$filenamewithoutext && bin/$filenamewithoutext"
其中if [ ! -d \"bin\" ];then mkdir bin;fi
為判斷bin
是否存在, 如果不存在則建立, 當然,bin
這個名字也改成自己喜歡的
配置除錯的是launch.json
這個檔案, 而在除錯程式執行前會需要先進行編譯生成可執行二進位制檔案, 這時就需要配置task.json
檔案
在launch.json
中, 通過改寫prelaunchtask
引數, 並在task.json
中新增引數, 可以達到預先建立bin
資料夾的目的
task.json
中加上如下任務:
並在生成可執行檔案的引數中, 更改目錄
"args": [
"-g",
"$",
"-o",
"$/bin/$"
],
launch.json
中修改可執行檔案的位置
"program": "bin/$"
lauch.json
中新增任務:
"prelaunchtask": [
"建立bin資料夾",
"c/c++: g++ 生成活動檔案"
]
完整tasks.json
參考**
,
","-o",
"$/bin/$"
],"options": "
},"problemmatcher": [
"$gcc"
],"group": ,
"detail": "偵錯程式生成的任務。"}],
"version": "2.0.0"
}
完整的launch.json
",
"args": ,
"stopatentry": false,
"cwd": "$",
"environment": ,
"externalconsole": false,
"mimode": "gdb",
"setupcommands": [
],"prelaunchtask": [
"建立bin資料夾",
"c/c++: g++ 生成活動檔案"
],"midebuggerpath": "/usr/bin/gdb"}]
}
沒必要直接複製貼上, 版本可能會更改而不適用, 看懂怎麼改的即可
windows系統方法也類似, 要注意的
原始檔 目標檔案和可執行檔案
1.原始檔 存放程式 的檔案,即我們編輯 的檔案,稱為源 檔案。c語音源程式檔案的擴充套件名為 c 源 檔案是相對目標檔案和可執行檔案而言的 一般使用高階語言寫出來的。2.目標檔案 源 經過編譯所得到的二進位制 稱為目標檔案。目標檔案的擴充套件名為 obj windows 或 o linux 目標檔...
從原始檔到可執行檔案
建立對於問題思考的能力,培養自己的程式設計思想。原始檔 目標檔案 可執行檔案 原始檔 用偏日常化的語言進行編寫。c cpp 目標檔案 由計算機可識別的二進位制 構成,決定了程式執行的基礎。obj o 可執行檔案 可以執行為程式的檔案。exe out 過程 編譯 編譯過程包括 預處理 標頭檔案 巨集定...
C原始檔到可執行檔案的過程
一 c原始檔到可執行檔案共經歷了4個過程。在使用gcc編譯程式時,編譯過程可以被細分為四個階段,包括預處理 編譯 彙編 鏈結。1 預處理 在預處理階段,編譯器主要作載入標頭檔案 巨集替換 條件編譯的作用。一般處理帶 的語句。我們可以通過gcc 的 e 選項進行檢視,如下所示 root localho...