vault backup: 2022-09-26 21:14:06

Affected files:
.obsidian/workspace
01. 個人/02. 專注Study/C++/GCC.md
This commit is contained in:
2022-09-26 21:14:06 +08:00
parent f04ce44296
commit 7267b86862
2 changed files with 24 additions and 5 deletions

10
.obsidian/workspace vendored
View File

@@ -9,7 +9,7 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "00. Inbox/00. TODO.md", "file": "01. 個人/02. 專注Study/C++/GCC.md",
"mode": "source", "mode": "source",
"source": true "source": true
} }
@@ -69,7 +69,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "00. Inbox/00. TODO.md", "file": "01. 個人/02. 專注Study/C++/GCC.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@@ -86,7 +86,7 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "00. Inbox/00. TODO.md" "file": "01. 個人/02. 專注Study/C++/GCC.md"
} }
} }
} }
@@ -116,6 +116,7 @@
}, },
"active": "828beb43bb437dd1", "active": "828beb43bb437dd1",
"lastOpenFiles": [ "lastOpenFiles": [
"00. Inbox/00. TODO.md",
"03. 資料收集/讀書筆記/20201224 - 寫作是最好的自我投資.md", "03. 資料收集/讀書筆記/20201224 - 寫作是最好的自我投資.md",
"03. 資料收集/名言佳句.md", "03. 資料收集/名言佳句.md",
"03. 資料收集/每週外食.md", "03. 資料收集/每週外食.md",
@@ -124,7 +125,6 @@
"02. 工作/01. Logitech/20210412 - TestCam.md", "02. 工作/01. Logitech/20210412 - TestCam.md",
"02. 工作/01. Logitech/20210428 - Sega.md", "02. 工作/01. Logitech/20210428 - Sega.md",
"02. 工作/01. Logitech/20210512 - Kong.md", "02. 工作/01. Logitech/20210512 - Kong.md",
"02. 工作/01. Logitech/20210716 - AutoStation.md", "02. 工作/01. Logitech/20210716 - AutoStation.md"
"02. 工作/01. Logitech/20220601 - Sentinel.md"
] ]
} }

View File

@@ -0,0 +1,19 @@
GCC的全稱是GNU Compiler Collection是GNU工具鏈中的一種。GCC不僅支持C/C++語言還支持Fortran/Ada/Java等語言的編譯。GCC和gcc是兩個概念GCC是工具鏈的集合裡面除了gcc/g++還包含了cclcclplus等組件。gcc/g++只是GCC工具鏈的一個子集。
## g++和gcc的區別
gcc可以判斷出目標程序所使用編程語言的類別會把xxx.c文件當作C語言編譯把xxx.cpp文件當作C++語言編譯。而g++只把xxx.c和xxx.cpp一律都當作C++語言來編譯。在編譯C++文件的時候g++會自動鏈接一些標準庫或基礎庫而gcc不會。當正在編譯的C++代碼文件依賴STL標準庫的時候為了使用STLgcc命令需要增加參數`lstdc++`。因此雖然gcc和g++都可以編譯C++語言程序但是使用g++會更方便一些。
## 常見文件副檔名
- 目標文件:
- xxx.o操作系統Linux, Mac
- xxx.obj, 操作系統windows
- 二進製文件:
- xxx(沒有後綴名), 操作系統Linux, Mac, FreeBSD,
- xxx.exe, 操作系統windows
- xxx.hex操作系統嵌入式系統
- 共享庫文件,也叫動態庫文件:
- xxx.dll, 操作系統windows
- xxx.so, 操作系統Linux
- xxx.dylib, 操作系統Mac\
- 靜態庫文件
- xxx.a