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

靜態庫編程

發布時間: 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等需要更新時,可能需要更新整個程序。

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

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

熱點內容
把手機放到嘴巴里解壓聲控 發布:2025-02-23 22:59:13 瀏覽:202
反向代理php 發布:2025-02-23 22:58:26 瀏覽:322
java執行順序 發布:2025-02-23 22:43:29 瀏覽:46
androidphp推送 發布:2025-02-23 22:22:31 瀏覽:157
eu4和群星哪個吃配置 發布:2025-02-23 22:15:37 瀏覽:316
如何給應用設密碼 發布:2025-02-23 22:07:10 瀏覽:985
安卓微信什麼時候可以改來電鈴聲 發布:2025-02-23 22:00:48 瀏覽:88
英文翻譯源碼 發布:2025-02-23 21:58:28 瀏覽:200
編程三個特徵 發布:2025-02-23 21:54:36 瀏覽:932
什麼配置就可以吃雞了 發布:2025-02-23 21:44:58 瀏覽:187