C++(0)--mac 使用VScode 进行C++编译、运行、调试
mac 使用VScode 進行C++開發
- 1.查看編譯器情況
- 2.安裝插件C/C++,C/C++ Clang Command Adapte
- 3.新建一個C++ project
- 3.1.本地新建文件夾
- 3.2.新建mian.cpp文件
- 3.3.編寫hello word demo
- 4.代碼編譯,運行,調試
- 4.1 命令行編譯運行
- 4.2 runcode 插件編譯運行
- 4.3 配置文件編譯運行調試
- 4.3.1編譯調試文件生成
- 4.3.2 文件內容
- 4.3.3 編譯運行
- 4.4.4 調試
- 5.Warning: Debuggee TargetArchitecture not detected, assuming x86_64
要運行C++程序,需要 代碼編輯器 來編寫C++源代碼,需要 編譯器 來編譯源代碼生成可執行文件。
C++的編譯流程包括:預處理-編譯-匯編-鏈接。
在不同的操作系統下(mac ,windows, Ubuntu),C++的編譯流程都是一致的,只是支持流程的編譯工具不同。
在mac 環境下,可使用Vscode來編輯C++源代碼,使用g++/clang++來編譯源代碼。
g++ 是 GNU 親兒子,Ubuntu 等常用發行版標配。
clang++ 是后起之秀,配合 llvm,以優秀的前端聞名于世,現在已經是 Mac(XCode) 的默認編譯器。
1.查看編譯器情況
g++ --version
clang++ --version
輸出
(base) chenyingying@chenyingyingdeMacBook-Air ~ % g++ --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.3 (clang-1103.0.32.62)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
(base) chenyingying@chenyingyingdeMacBook-Air ~ % clang++ --version
Apple clang version 11.0.3 (clang-1103.0.32.62)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
(base) chenyingying@chenyingyingdeMacBook-Air ~ %
(默認安裝?沒說沒裝怎么辦呀)
2.安裝插件C/C++,C/C++ Clang Command Adapte
到VSCode去安裝C/C++,C/C++ Clang Command Adapte兩款插件,以獲得C++語法高亮、錯誤檢查和調試等功能。
3.新建一個C++ project
3.1.本地新建文件夾
3.2.新建mian.cpp文件
1.在VScode中打開該文件夾
2.添加一個新的文件
3.在文件中編輯內容后,右鍵文件名保存文件為main.cpp文件(文件名可以自定義xxx.cpp)
3.3.編寫hello word demo
#include <iostream> using namespace std; int main(){cout << "hello world" << endl;return 0; }4.代碼編譯,運行,調試
4.1 命令行編譯運行
(base) chenyingying@chenyingyingdeMacBook-Air DebugTest % g++ main.cpp -o main
(base) chenyingying@chenyingyingdeMacBook-Air DebugTest % /Users/chenyingying/CppProject/DebugTest/main
hello world1
(無法斷點調試)
4.2 runcode 插件編譯運行
1.右鍵文件名,點擊“RunCode”即可編譯運行文件,很方便;但無法Debug。
運行文件后在“OUTPUT”中輸出相應的內容
4.3 配置文件編譯運行調試
參考博文(對配置文件的介紹比較詳細):https://www.jianshu.com/p/7c6599f21052
在使用vscode進行c++調試最重要的是需要launch.json文件(負責調試程序),但是經常也需要tasks.json文件(負責編譯程序).
4.3.1編譯調試文件生成
way1.按鈕生成:
此時VSCode會在你的工程目錄下自動新建一個.vscode的文件夾,并新建了launch.json和task.json的文件.
way2:,命令引導
task.json–(shift+command+p -> Tasks:Configure Tasks, -> Create tasks.json form templates -> Others )
launch.json–(shift+command-> Debug->c++(GDB/LLDB))
4.3.2 文件內容
參考博文:https://zhuanlan.zhihu.com/p/103308900?from_voters_page=true復制以下的兩個文件內容
參考博文:https://www.jianshu.com/p/7c6599f21052 文件參數含義介紹的比較清晰
launch.json
task.json
{"version": "2.0.0","tasks": [{"label": "Build with Clang",//這個任務的名字在launch.json最后一項配置"type": "shell","command": "clang++","args": ["-std=c++17","-stdlib=libc++",//"test.cpp",這里是官方寫法,不具有普遍性,注意兩個配置文件的統一性即可"${fileBasenameNoExtension}.cpp","-o",//"test.out","${fileBasenameNoExtension}","--debug"],"group": {"kind": "build","isDefault": true}}] }4.3.3 編譯運行
按“??B”編譯,編譯成功將生成可執行文件a.out 和main 小黑框
雙擊main 小黑框,運行結果展示在界面上。
4.4.4 調試
在需要調試的文件(避免報文件找不到錯誤)底下執行調試操作(一下兩個圖都能開啟調試)
在teminal中能看到程序輸出的信息,左邊的watch欄可以查看變量的情況。
5.Warning: Debuggee TargetArchitecture not detected, assuming x86_64
完成第3步的設置,正常就可以設置斷點調試,設置斷點。“Fn+f5”開啟調試,但是可能在調試窗口中顯示:
Warning: Debuggee TargetArchitecture not detected, assuming x86_64.
出現這個warming的原因:因為Catalina不再支持lldb調試。
解決:安裝插件CodeLLDB(用來debug,解決Catalina不支持lldb調試問題)
參考博文:https://zhuanlan.zhihu.com/p/106935263?utm_source=wechat_session
參考博文:
Mac下使用VScode進行C/C++開發:https://www.cnblogs.com/lianshuiwuyi/p/8094388.html
vscode的邏輯是你可以創造很多工作區,每個工作區可以有不同的配置。每個工作區下當然要有項目文件夾,
參考博文:https://zhuanlan.zhihu.com/p/106935263?utm_source=wechat_session
總結
以上是生活随笔為你收集整理的C++(0)--mac 使用VScode 进行C++编译、运行、调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (三)nodejs循序渐进-值传递和引用
- 下一篇: MachineLearning(11)-