linux下gcc命令筆記

2021-08-15 23:39:35 字數 800 閱讀 5772

首先介紹一下gcc各種引數的含義:

-o:指定生成的輸出檔案;

-e:僅執行編譯預處理;

-s:將c**轉換為彙編**;

-wall:顯示警告資訊;

-c:僅執行編譯操作,不進行連線操作。

1:gcc -c -fpic *.c

生成與位置無關的 .o 檔案(目標檔案):

-fpic表明使用位址無關**。

2:gcc -shared -wl -o libmyab.so a.o b.o

-shared 引數使其生成是動態庫而不是普通執行程式。

-wl選項告訴編譯器將後面的引數傳遞給鏈結器。

3:gcc -shared -wl,-soname,libmyab.so.1 -o libhello.so.1.10 a.o b.o

soname是乙個鏈結庫的名字,只包含共享庫的主版本號,主版本號一致即可保證庫函式的介面一致,因此應用程式的.dynamic段只記錄共享庫的soname,只要soname一致,這個共享庫就可以用。

-d選項告訴編譯器在編譯時增加對-d後面的巨集的定義

5:ar rcs lib***.a xx1.o xx2.o

建立乙個靜態庫

引數r:在庫中插入模組(替換)。當插入的模組名已經在庫中存在,則替換同名的模組。

引數c:建立乙個庫。不管庫是否存在,都將建立。

引數s:建立目標檔案索引,這在建立較大的庫時能加快時間。

-i:指定頭檔案目錄

Linux系統下gcc命令使用詳解

目錄 1.gcc的安裝 以ubuntu為例 sudo apt get install build essential 安裝完後可以通過 gcc version 檢視版本。讓我們在通過gcc編譯可執行檔案的過程中掌握其基礎應用。準備 先在當前目錄下 使用vim新建乙個.c檔案 例如 666.c vim...

GCC 編譯命令筆記

將 檔案編譯並鏈結為可執行檔案 gcc o hello hello.c i usr include 引用標頭檔案位置 2.編譯檔案 gcc c hello.c 3.需要鏈結庫 gcc o hello hello.c usr lib libm.a 絕對路徑 gcc o hello helloc lm ...

linux下命令 學習筆記

2013.12.14 1 顯示分屛 每次在終端用ls,可能會出現檔案過多,導致前部分的內容無法檢視,這是可以使用 ls less命令,進入分屛顯示模式,鍵盤中pgup和pgon控制上下頁,退出按快捷鍵shift q。2 google chrome的安裝目錄在 opt google chrome 其他...