今天學習程式設計師的自我修養第三章學習對其中的一些內容提取。
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反彙編。
如何檢視符號表:
程式設計師的自我修養
一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...
程式設計師的自我修養
一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...
程式設計師的自我修養
對合作夥伴的尊重與包容 每個人的水平必然是不相同,大家各有擅長,並且在不斷進步中。所以遇到同事或者合作的友商犯了比較低階 對你來說可能是 的錯誤是很正常的事情,我們更多的是應該給與尊重與包容,而不是嘲笑或者消極對待。在不斷的鼓勵同事和合作夥伴之後,能感受到大家對我的信賴,特別是和友商的合作變得非常的...