GCC編譯器 庫依賴

2021-09-08 03:31:05 字數 940 閱讀 7935

.標頭檔案

.-i選項可以向gcc的標頭檔案搜尋路徑中新增新的目錄 如gcc foo.c -i /home/xiaowp/include -o foo

庫檔案.靜態庫

a.通過-l選項向gcc的庫檔案搜尋路徑中新增新的目錄 –l是指定具體的庫檔案

b.或者查詢環境變數ld_library_path

.動態庫

a.把庫拷貝到/usr/lib、/lib或/usr/llocal/ib的內定目錄下;

b.在ld_library_path環境變數中加上庫所在路徑。

#export ld_library_path=$ld_library_path:/home/example/lib

c.修改/etc/ld.so.conf檔案,把庫所在的路徑加到檔案末尾,並執行ldconfig重新整理。

.生成目標檔案

gcc -c xiangjia.c xiangjia.c main.c

.生成靜態庫檔案

ar cr libmath56.a xiangjia.o xiangjian.o

.生成可執行檔案

gcc –o math main.o libmath56.a

.生成共享庫(注意生成完成libmath56.so後,拷貝到/lib64下,不然找不到)

gcc -shared -fpci -o libmath56.so xiangjia.o xiangjia.o

.生成可執行檔案

gcc –o math2 main.c –l /lib64/ –lmath56

gcc編譯器簡介

在linux中選擇gcc編譯器的原因是gcc執行效率高。gcc基本用法 gcc options filename 其中options為編譯選項。例子 執行指令 gcc hello.c 則對hello.c進行編譯,如果程式沒有語法錯誤,則產生可執行檔案a.out gcc預設檔名 執行可執行檔案指令 a...

gcc編譯器(二)

靜態庫 工程在呼叫靜態庫時,複製靜態庫源 加長,不節省程式空間字尾名.a 優點 編譯後不需要再依賴庫 以空間換時間 動態庫 工程建立對映關係,每次呼叫都需要去庫中載入,字尾名為.so 共享庫 程式輕便,便於公升級。小tips 所有程式執行都在記憶體中,硬碟只能儲存程式。靜態庫的建立 gcc c 原始...

GCC編譯器學習

不同的平台如x86和arm,一段程式跑起來到最下面會轉成彙編,彙編要轉成機器碼,機器碼會由於硬體平台不同而不同。有時候要程式設計序在arm上跑,必須針對arm寫程式,但是在arm上寫程式很麻煩 沒有很好的開發工具 所以我們就在x86平台上 windows 上把程式寫好,但是編譯的時候告訴它我們要執行...