linuxso是什么文件?
SO文件格式即ELF文件格式,它是Linux下可執行文件,共享庫文件和目標文件的統一格式。
根據看待ELF文件的不同方式,ELF文件可以分為鏈接視圖和裝載視圖。鏈接視圖是鏈接器從鏈接的角度看待靜態的ELF文件。
從鏈接視圖看ELF文件,ELF文件由多個section組成,不同的section擁有不同的名稱,權限。而裝載視圖是操作系統從加載ELF文件到內存的角度看待動態的ELF文件。
從裝載視圖看ELF文件,ELF文件由多個segment,每一個segment都擁有不同的權限,名稱。實際上,一個segment是對多個具有相同權限的section的集合。
擴展資料:
由于Android操作系統的底層基于Linux系統,所以SO文件可以運行在Android平臺上。Android系統也同樣開放了C/C++接口供開發者開發Native程序。
由于基于虛擬機的編程語言JAVA更容易被人反編譯,因此越來越多的應用將其中的核心代碼以C/C++為編程語言,并且以SO文件的形式供上層JAVA代碼調用,以保證安全性。
而ELF頭表記錄了ELF文件的基本信息,包括魔數,目標文件類型(可執行文件,共享庫文件或者目標文件),文件的目標體系結構,程序入口地址(共享庫文件為此值為0),然后是section表大小和數目,程序頭表的大小和數目,分別對應的是鏈接視圖和裝載視圖。
上一篇c51未被定義怎么解決
下一篇低價網站建設