精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux系統下查看elf文件的方法

CHANBAEK ? 來源:大川搬磚 ? 作者:sdc123 ? 2023-08-25 16:17 ? 次閱讀

1. 前言

作為一個嵌入式開發人員,交叉編譯是必須進行的步驟。那么,如何判斷編譯生成的文件(動態庫,靜態庫,可執行程序)是否符合目標平臺的格式呢?下面分別介紹這 3 種文件的查看方式。

測試環境:

虛擬機:ubuntu 16.04

目標環境:imx8q,arm64

測試程序:FastDDS

2. 查看可執行程序

使用 file 命令。

file DDSHelloWorldExample

結果:

圖片

3. 查看動態庫

和可執行程序一樣,也使用 file 命令。

file libfastrtps.so.2.3.0

結果:

圖片

4. 查看靜態庫

也使用 file 命令?

file libfoonathan_memory-0.7.0.a

結果:

圖片

這個結果證明 file 命令是行不通的。那應該怎么做呢?使用 readelf 。

4.1 readelf

readelf 用于顯示 ELF 文件的信息 。我們這里使用其 -h 參數。

readelf -h libfoonathan_memory-0.7.0.a

結果( 有意外收獲 ):

圖片

readelf -h 的輸出結果可以看出靜態庫是符合 AArch64 平臺的。但是有多行的 Machine: AArch64 。這其實是靜態庫中 每一個.o 文件的信息。因此,我們可以使用該命令查看靜態庫中包含了哪些 .o 文件。

readelf -h libfoonathan_memory-0.7.0.a | grep "File:"

結果:

圖片

然后,我們使用命令 ar -t 命令查看上述結果是否正確。

ar -t libfoonathan_memory-0.7.0.a

結果:

圖片

5. 結語

其實,動態庫、靜態庫和可執行程序都可以使用 readelf -h 命令進行查看適用的目標平臺類型。但是查看動態庫和靜態庫的適用平臺信息時還是 file 命令方便、直觀一些。

我們可以使用 readelfar 命令查看靜態庫中包含哪些 .o 文件。如果想知道可執行程序和動態庫鏈接了哪些動態庫,該如何做呢?答案是使用 ldd 命令。請移步至這篇文章。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5072

    文章

    19026

    瀏覽量

    303517
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208952
  • 靜態庫
    +關注

    關注

    0

    文章

    21

    瀏覽量

    7423
  • Ubuntu
    +關注

    關注

    5

    文章

    560

    瀏覽量

    29588
  • 動態庫
    +關注

    關注

    0

    文章

    16

    瀏覽量

    6219
收藏 人收藏

    評論

    相關推薦

    Linux操作系統常見文件類型分析

    Linux操作系統常見文件類型分析,壓縮和打包文件,普通文件格式,
    發表于 01-06 17:00 ?983次閱讀

    查看Linux系統內存使用情況的幾種方法

    Linux系統中,內存監控是優化系統性能的關鍵。本文為你介紹12種方法,幫助你全面掌握Linux系統
    的頭像 發表于 11-13 09:30 ?1.3w次閱讀
    <b class='flag-5'>查看</b><b class='flag-5'>Linux</b><b class='flag-5'>系統</b>內存使用情況的幾種<b class='flag-5'>方法</b>

    linux查看網卡流量的六種方法

    本文介紹了linux查看網卡流量的六種方法,linux系統中使用nload、iftop、io
    發表于 07-25 06:29

    嵌入式學習——ElfBoard ELF1板卡 重新打包文件系統方法

    1.拷貝ELF1開發板資料包\\\\04-燒寫鏡像\\\\04-0 eMMC鏡像目錄下的rootfs.tar.bz2到開發環境的任意目錄,比如/home/elf。 2.創建存放目標文件系統
    發表于 11-06 09:55

    i.MX6ULL——ElfBoard ELF1板卡 windows 與 ubuntu 系統互傳文件方法

    的:內核源碼 linux-4.1.15-elf1.tar.bz2、文件系統(本節以 rootfs.tar.bz2 為例)、命令行測試程序 elf1_cmd_watchdog.c 放到 Windows
    發表于 12-02 09:27

    Linux文件系統的反刪除方法

    Linux文件系統的反刪除方法 作為一個多用戶、多任務的操作系統,Linux
    發表于 03-29 10:39 ?719次閱讀

    嵌入式bin文件elf文件重點

    執行raw binary很簡單,只需要將程序加載到其起始地址,就可以執行; 執行ELF程序則需要一個ELF Loader。 現在知道了吧,uboot和Linux kernel啟動的時候是沒有E
    的頭像 發表于 05-15 11:04 ?9157次閱讀
    嵌入式bin<b class='flag-5'>文件</b>和<b class='flag-5'>elf</b><b class='flag-5'>文件</b>重點

    簡單介紹一LinuxELF格式文件

    ELF(Executable and Linkable Format)即可執行連接文件格式,是一種比較復雜的文件格式,但其應用廣泛。
    發表于 04-27 19:09 ?2.7w次閱讀
    簡單介紹一<b class='flag-5'>下</b><b class='flag-5'>Linux</b>中<b class='flag-5'>ELF</b>格式<b class='flag-5'>文件</b>

    Linux可執行文件格式

    Linux支持的可執行文件主要有:Coff,elf,flat,類似Windows的.exeCoff文件格式? Common Object File Format,最早與
    發表于 04-02 14:46 ?1560次閱讀

    使用Linux命令lsof查看進程打開和查看文件的說明

    linux命令 — lsof 查看進程打開那些文件 或者 查看文件給那個進程使用對調試文件有很好
    發表于 10-28 08:00 ?0次下載

    虛擬機:Linux查看tar包文件內容的方法

    虛擬機:Linux查看tar包文件內容的方法
    的頭像 發表于 06-22 16:49 ?6693次閱讀

    Linux系統如何解析ELF文件

    也就是說,掌握了 ELF 文件的結構和內容,是理解編譯、鏈接和程序執行的基礎。
    的頭像 發表于 04-10 16:36 ?3342次閱讀

    如何在Linux查看隱藏文件

    在windows可以查看隱藏的文件。在Linux中也可以查看隱藏文件且非常容易。要查看隱藏
    的頭像 發表于 01-04 17:31 ?1.6w次閱讀

    Linux系統中的10個常用的文本查看命令

    當你需要查看Linux系統中的文本文件時,使用文本編輯器可能會比較繁瑣,特別是當你只需要查看文件
    的頭像 發表于 06-24 11:44 ?1.1w次閱讀

    Linux服務器性能查看方法

    Linux服務器性能查看系統管理員和開發人員在日常工作中經常需要進行的任務,以確保系統穩定運行并優化資源使用。以下將詳細介紹多種Linux
    的頭像 發表于 09-02 11:15 ?935次閱讀