首頁>Club>
2
回覆列表
  • 1 # 不忘初心繼續前進144738137

    SO檔案是Linux下共享庫檔案,它的檔案格式被稱為ELF檔案格式。由於Android作業系統的底層基於Linux系統,所以SO檔案可以執行在Android平臺上。

    Android系統也同樣開放了C/C++介面供開發者開發Native程式。由於基於虛擬機器的程式語言JAVA更容易被人反編譯,因此越來越多的應用將其中的核心程式碼以C/C++為程式語言,並且以SO檔案的形式供上層JAVA程式碼呼叫,以保證安全性。

    擴充套件資料:

    so檔案使用方法:

    (1)動態庫的編譯。這裡有一個頭檔案:so_test.h,三個.c檔案:test_a.c、test_b.c、test_c.c,我們將這幾個檔案編譯成一個動態庫:libtest.so。

    命令:$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so 不用該標誌外部程式無法連線。相當於一個可執行檔案。

    (2)動態庫的連結這裡有個程式原始檔 test.c 與動態庫 libtest.so 連結生成執行檔案 test:命令:$ gcc test.c -L. -ltest -o test命令:$ ldd test執行test,可以看到它是如何呼叫動態庫中的函式的。

  • 中秋節和大豐收的關聯?
  • 我的榮耀7充電有反應卻充不進點怎麼解決?