Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> LinuxシステムFAQ >> LinuxターゲットファイルのELF形式

LinuxターゲットファイルのELF形式

  
        1< span style =" font-family:Arial、Helvetica、sans-serif、背景色:rgb(255、255、255);"< /span>< span style ="フォント-family:Arial、Helvetica、sans-serif; background-color:rgb(255、255、255);> PCでよく使用される実行可能ファイル形式は、Windowsの場合、主にPEファイルとLinux ELFファイルです。それらはすべてCOFFフォーマットファイルの亜種です。ターゲットファイルをコンパイルすると、コンパイルされているがリンクされていない中間ファイルは実行可能ファイルの形式とほぼ同じであるため、ターゲットファイル(.oファイル)も実行可能ファイルと同じ形式で格納されます。 < /span>


Linuxの実行ファイルに加えて、動的ライブラリファイル(.so)、再配置可能ファイル(.o)など、ELF形式で保存されたファイルがいくつかあります。 )コアダンプファイル(プロセスが終了すると、システムはプロセス情報をこのタイプのファイルに保存します)。 fileコマンドを使用してファイルの種類を表示できます。例:


?1 2 3 xiang @ xiang:〜/workspace /linux $ file prim prim:ELF 32ビットLSB実行可能ファイル、Intel 80386、バージョン1( SYSV)、動的リンク(共有ライブラリを使用)、GNU /Linux 2.6.24の場合、BuildID [sha1] = 0xd54ce2ecedb22482c79f597093ff8c0b8f7c7113、削除されないxiang @ xiang:〜/workspace /linux $ファイルヘッダーを含むELFファイルの形式について(ファイルヘッダー、コードセグメント(.text)、データセグメント(.data)、未初期化データセグメント(.bss)など。objdumpコマンドを使用して、各セグメントの情報を表示できます。



?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 xiang @ xiang:〜/ワークスペース/アルゴリズム$ g ++ -c Prim.cpp -o prim.o xiang @ xiang:〜/workspace /algorithm $ objdump -h prim.o prim.o:ファイル形式elf32-i386セクション:Idx名前サイズVMA LMAファイルoff Algn 0 .text 0000031f 00000000 00000000 00000034 2 ** 2内容、割り当て、ロード、再配置、読み取り専用、コード1 .data 00000000 00000000 00000000 00000354 2 ** 2内容TS、ALLOC、LOAD、DATA 2 .bss 003d3c21 00000000 00000000 00000360 2 ** 5 ALLOC 3 .rodata 00000008 00000000 00000360 2 ** 2内容、ALLOC、LOAD、読み取り専用、データ4 .ctors 00000004 00000000 00000000 00000368 2 ** 2 CONTENTS、ALLOC、LOAD、RELOC、DATA 5。コメント0000002c 00000000 00000000 0000036c 2 ** 0内容、READONLY 6 .note.GNU-stack 00000000 00000000 00000000 00000398 2 ** 0 CONTENTS、READONLY 7 .eh_frame 000000dc 0000000 00000000 * 2内容、ALLOC、LOAD、RELOC、READONLY、DATA xiang @ xiang:〜/workspace /algorithm $ objdump -h prim 1、ファイルヘッダーにはファイルヘッダー内のファイルのマジックナンバーが含まれています。 ELFファイルのマジックナンバーなど、システムファイルのタイプを示すためにマジックナンバーが使用される、ワード長、バージョン、実行プラットフォーム、ファイルタイプ、エントリアドレス、ショートメッセージなど。

Copyright © Windowsの知識 All Rights Reserved