Linux下的靜態庫和共享庫的建立和使用

2021-08-13 09:18:33 字數 848 閱讀 3236

靜態庫的建立和使用:

共享庫的建立及使用:

第一次:

從/usr/lib下可以看出共享庫應該是藍色字型或是綠色字型,而我第一次建立的共享庫卻是黑色字型,顯然不對,我又重新做了一遍

第二次:

這一次雖然建立好了libfoo.so,但是不能使用,找不到共享庫?我又做了第三次

第三次:

我先將切換到管理員,然後 mv libfoo.so /usr/lib:

然後又按著第二次的方法做了一遍,就出現了我想要的結果:

不難吧!

最重要的是:-shared表明產生共享庫,而-fpic則表明使用位址無關**,可以在任何位址被鏈結和裝載。pic:position independent code.fpic指令就是為了讓使用到同乙個共享物件的多個程序能盡可能多的共享物理記憶體,它背後把那些涉及到絕對位址、外部模組位址訪問的地方都抽離出來,保證**段的內容可以多程序相同,實現共享。

linux下的共享庫(動態庫)和靜態庫

linux下的共享庫 動態庫 和靜態庫 1.什麼是庫 在windows平台和linux平台下都大量存在著庫。本質上來說庫是一種可執行 的二進位制形式,可以被作業系統載入記憶體執行。由於windows和linux的本質不同,因此二者庫的二進位制是不相容的。本文僅限於介紹linux下的庫。2.庫的種類 ...

linux下的共享庫(動態庫)和靜態庫

說很基礎,但很重要!原文 1.什麼是庫 在windows平台和linux平台下都大量存在著庫。本質上來說庫是一種可執行 的二進位制形式,可以被作業系統載入記憶體執行。由於windows和linux的本質不同,因此二者庫的二進位制是不相容的。本文僅限於介紹linux下的庫。2.庫的種類 linux下的...

Linux中的靜態庫和共享庫

一 庫的概念 二 靜態庫 2.1 靜態庫的特點 程式中包含 執行時不再需要靜態庫 程式執行時無需載入庫,執行速度更快 占用更多磁碟和空間 靜態庫公升級後,程式需要重新編譯鏈結 2.2 靜態庫的建立及鏈結第一步 確定庫中函式的功能 介面 第二步 編寫庫原始碼 hello.c include inclu...