今天要介紹的,嚴格來說幾乎不太會使用在 Web 世界中,而是普遍應用在作業系統、硬體設備等,程式語言界效率的王者:C++。
使用 VS Code 開發 C++
的前置作業有點複雜,以下記錄如何設定。
這邊最妙了,不同的作業系統有不同的安裝方式。:
GCC
運用在 Windows。C++
程式會用運用在 Unix-like
系統,那建議使用。C++
編譯器。C++
程式會用運用在 Windows
系統,那建議使用。以下逐一說明如何安裝。
步驟如下:
sudo apt-get update # update the Ubuntu package lists.
# 以下可選擇
sudo apt-get dist-upgrade # download the latest versions of the system packages.
GNU compiler tools
& GDB debugger
:sudo apt-get install build-essential gdb
whereis g++
# g++: /usr/bin/g++ /usr/share/man/man1/g++.1.gz
whereis gdb
# gdb: /usr/bin/gdb /usr/share/gdb /usr/share/man/man1/gdb.1.gz
步驟如下:
C:\Mingw-w64
。Mingw-w64
的路徑加入環境變數 PATH
,打開 CMD,輸入:setx path "%path%;c:\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin"
安裝方式有兩種:
C++
。Microsoft Visual C++ Redistributable for Visual Studio 2019
。mac 預設安裝 Clang,因此不需要什麼步驟。
確認 Compiler 安裝成功的方法是:
g++ --help
# 筆者是 macOS,所以是 clang
#OVERVIEW: clang LLVM compiler
#USAGE: clang [options] <inputs>
#OPTIONS:
#...
使用的作業系統是 macOS。
使用的 workspace 資料夾名稱是:helloworld。
編輯的檔案名稱:helloworld.cpp。
使用 VS Code 開啟資料夾:helloworld,在進行編輯 C++
之前,先進行底下三項設定。
目的:設定 Compiler 路徑以及 IntelliSense。
步驟如下:
F1
,輸入:C/C++: Edit Configurations (UI)
C++ Compiler
的位置,例如:
/usr/bin/clang
。header files
但沒有放在 workspace 內,就需要補充。header files
。設定完成後,c_cpp_properties.json
會存在 .vscode
資料夾內,設定的內容會是:
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
目的:Build 相關設定。
步驟如下:
F1
,輸入並選擇:Tasks: Configure Default Build Task
。從範本建立 tasks.json 檔案
。Others
。{
"version": "2.0.0",
"tasks": [
{
"label": "Build with Clang",
"type": "shell",
"command": "clang++",
"args": [
"-std=c++17",
"-stdlib=libc++",
"helloworld.cpp",
"-o",
"helloworld.out",
"--debug"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
目的:偵錯相關設定。
步驟如下:
F5
,選擇 C++ (GDB/LLDB)
。{
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/helloworld.out",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "lldb",
"logging": {
"trace": true,
"traceResponse": true,
"engineLogging": true
}
}
]
}
helloworld.cpp
,貼上以下程式碼:#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg{"Hello", "C++", "World", "from", "VS Code!"};
for (const string &word : msg)
{
cout << word << " ";
}
cout << endl;
}
F1
,輸入:Tasks: Run Build Task
,將會產生:
helloworld.out.dSYM
。helloworld.out
。F5
,開啟偵錯模式,操作的部分,請參見拙作:
前置作業介紹完成!整體而言,設定的過程比起昨天的 Java
來得順暢許多。
環境設定好,就讓人想認真開發呢!