2017-08-03 47 views
0

我在寫一個應該分析自己記憶的腳本。 更具體地說:代碼大小和數據大小。 GNU大小實用程序列出了部分大小。如何檢查部分是代碼還是數據(.elf)?

>mips-mti-elf-size.exe -A -x -t file.elf 
section        size     addr         
.sec(1) 
.sec(2) 
. 
.sec(i) 
.sec(n) 
Total        0x----- 

我也可以檢查總文件大小或總數據大小。 有沒有辦法決定每一秒(i)它是代碼還是數據?

+0

我可以在您的示例輸出中看到只有一個'.text'節。我的答案不適合你嗎?如果沒有,請澄清,謝謝。 –

+0

對不起,但我不明白你想要什麼,如果它不**只打印以'.text','.data'和'.bss'開頭的行,就像你的問題所暗示的那樣。如果你想要一些不同的東西,請編輯你的問題,顯示確切的輸出,並明確你感興趣的線/部分。 –

回答

0

使用MIPS-MTI-ELF-readelf.exe:

mips-mti-elf-readelf.exe -S file.elf 

這將返回:

[Nr] Name    Type   Addr  Off Size ES Flg Lk Inf Al 
    [ 0]     NULL   00000000 000000 000000 00  0 0 0 
    [ 1] .secName       9014d000 00d000 000480 00 AX 0 0 4096 
    ... 

使用FLG:如果X是達到它的代碼。

相關問題