elf檔案分析 程式設計師的自我修養第三章學習

2021-06-28 17:57:16 字數 1189 閱讀 2794

今天學習程式設計師的自我修養第三章學習對其中的一些內容提取。

elf檔案

linux

作業系統二進位制檔案統一管理的格式檔案,對其分析對於理解編譯和鏈結、整合大型系統,修復

bug很有幫助。

源程式都會通過編譯、鏈結成可執行檔案,可執行檔案的elf

檔案格式是固定,下面看如下圖:

這個就是c語言**與

elf檔案格式的對應。

elf檔案是通過段來組織的:

例如:.test  存放**

.data  存放已經定義的函式或者變數

.bss   存放未定義的變數或者函式。

還可以我們直接向elf新增內容或者字段。

例如:objcopy -i binary -o elf32-i386 -b i386  image.jpg image.o(將內容新增到二進位制檔案中)

新增自定義段:

還可以自定義段名利用:

__attribute__((section(「foo」))) int global =32;

如何檢視elf

檔案的各個段:

利用objdump

命令,例如

檢視各段的基本資訊概述。

還可以利用elfread

,例如:

elfread  -h ***.o

利用objdump -s -d **   -s說明顯示

16進製制資訊,

-d反彙編。

如何檢視符號表:

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...

程式設計師的自我修養

對合作夥伴的尊重與包容 每個人的水平必然是不相同,大家各有擅長,並且在不斷進步中。所以遇到同事或者合作的友商犯了比較低階 對你來說可能是 的錯誤是很正常的事情,我們更多的是應該給與尊重與包容,而不是嘲笑或者消極對待。在不斷的鼓勵同事和合作夥伴之後,能感受到大家對我的信賴,特別是和友商的合作變得非常的...