當前位置:首頁 » 編程軟體 » 靜態庫編程

靜態庫編程

發布時間: 2025-02-23 18:02:38

『壹』 如何在android studio中用JNI調用靜態庫

NDK中 apps下本身就有一個例子,two-libs,就是引用靜態庫。
LOCAL_PATH:= $(call my-dir)

# first lib, which will be built statically
#
include $(CLEAR_VARS)

LOCAL_MODULE := libtwolib-first
LOCAL_SRC_FILES := first.c

include $(BUILD_STATIC_LIBRARY)

# second lib, which will depend on and include the first one
#
include $(CLEAR_VARS)

LOCAL_MODULE := libtwolib-second
LOCAL_SRC_FILES := second.c

LOCAL_STATIC_LIBRARIES := libtwolib-first

include $(BUILD_SHARED_LIBRARY)

『貳』 linux動態庫和靜態庫的區別

動態鏈接庫和靜態鏈接庫是編程中常見的兩種鏈接方式。在程序源代碼編譯完成後,通過編譯器和鏈接器,程序會與這些庫進行鏈接。其中,動態鏈接庫與靜態鏈接庫的主要區別在於鏈接器在進行鏈接時,靜態庫會被直接編譯進程序,而動態鏈接庫則不會。我們通常將這些庫稱為程序的依賴。

程序運行需要這些依賴,而在程序進行靜態鏈接後,程序本身便已包含了這些依賴。然而,在動態鏈接後的程序中,這些依賴則不會包含在程序里,它們需要由執行者自行安裝進操作系統。特別是在Linux系統中,動態庫的後綴通常是.so,而靜態庫的後綴為.a。

靜態鏈接的一個顯著缺點是,靜態鏈接後的程序相較於動態鏈接所要佔用的空間更大。這是因為靜態鏈接會將鏈接庫編譯進程序里,所以靜態編譯後的程序會佔用更多的存儲空間。這種情況下,靜態庫的維護和更新變得相對困難,因為如果鏈接庫中存在bug等需要更新時,可能需要更新整個程序。

相比之下,動態庫在程序運行時會動態地載入這些庫,因此我們只需要更新動態庫而不需要更新所有依賴該庫的程序。此外,很多程序的開發都會使用到相同的鏈接庫,這些程序共享一個鏈接庫,從而大大減少了存儲資源的佔用。

綜上所述,動態鏈接庫和靜態鏈接庫各有優缺點。使用動態鏈接庫可以減少存儲資源的佔用,便於維護和更新。而靜態鏈接庫則適用於對程序大小有嚴格要求的情況,以及需要確保程序在沒有依賴庫的情況下也能運行的場景。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:642
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:369
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:89
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:312
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:795
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:348
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:819
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:369
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:596