g 的基礎使用(不斷擴充 )

2021-10-09 21:48:11 字數 1364 閱讀 6693

(1)總體選項

最簡單的g++編譯c++程式,一步到位,生成可執行檔案(無.h,無其他庫函式,輸出預設test.out)

g++ test.cpp
指定c++編譯輸出檔名

g++ test.cpp -o test

原始檔 命令-o 指定輸出檔名

只啟用預處理(不會生成可執行檔案)

g++ -e test.cpp    //不生成.i檔案

g++ -e test.cpp -o test.i //生成.i檔案

只啟用預處理和編譯

g++ -s test.cpp -o test.s  //生成.s檔案
只啟用預處理和編譯和彙編

g++ -c test.cpp -o test.o
(2)目錄選項

[-i]指定頭檔案目錄:假設我們inlcude了乙個標頭檔案,而它也不和我們的原始檔放在同一資料夾下,那我我們在編譯的時候,需要告訴編譯器去**找這個.h。如果這個.h在系統目錄下,則編譯器會去自動尋找,不用手動新增

假設test.cpp和資料夾top在同一目錄下,top裡面剛好有test.cpp要用到的標頭檔案,該這樣編譯

g++ test.cpp -i./top -o test

-i.啥意思,就是指當前目錄下,注意這個「.」

[-include] [.h] 這個就是啥意思呢,比如你寫了test.cpp,但是你在原始檔裡面沒有寫#include ".h",而你又用到這個.h,這樣呢,你在編譯的時候,就必須手動新增該.h

假設test.cpp和資料夾top在同一目錄下,top裡面剛好有test.cpp要用到的標頭檔案

g++ test.cpp -include ./top/test.h -o test

[-l]編譯的時候,指定搜尋庫的路徑

假設test.cpp和資料夾top在同一目錄下,top裡面有要用到的庫檔案libtest.a和test.**件

g++ test.cpp -l./top -ltest -i./top -o test

-l[library] 指定你要用的庫檔案的名字

這個在上邊已經用過了,我這裡說一下,假設你的庫檔案名字為libtest.a,則你在-l呼叫它的時候,

只需要寫l+庫名,即-ltest。

g++ test.cpp -ltest -o test

(3)更多選項,等我用到了在總結

vi使用 不斷更新

1.刪除操作 命令模式使用 x刪除游標處的單個字元 dd刪除游標所在行 dw刪除當前字元到單詞尾包括空格的所有字元 x例如3x刪除游標處向右的三個字元 dd例如3dd從當前行開始向下刪除三行文字 2.撤銷操作 u命令取消最近一次的操作,可以使用多次來恢復原有的操作 u取消所有操作 ctrl r可以恢...

protobuf使用 不斷更新

解析與序列化 makefile檔案寫法 按照readme來就行,我安裝在了預設的 usr local路徑,所以需要在環境變數中加入路徑。export ld library path ld library path usr local lib export library path library p...

5G商用不斷加快,對於無人機來說意味著什麼?

今年以來,我國5g發展按下快進鍵,各地5g建設紛紛完成既定目標,推動了5g商用步伐的不斷加快。根據工信部最新資料顯示,截至10月份,我國5g基站已建成超60萬座,5g使用者達到1億餘人次,5g網路覆蓋基本取得不錯成效。在此背景下,5g商用的價值和影響正不斷擴大。作為重要落地領域之一,無人機產業也將受...