Linuxでターゲットファイルにどの形式を使用できるかを知りたいです。
オブジェクトファイルには2つのタイプがあることがわかります。
- ELF形式の実行可能ファイル
コンパイル後、リンク前にgccによって生成されたオブジェクトファイル。
これらのオブジェクトファイルの形式は何ですか?
それともELF形式ですが、実行可能ファイルとは異なるサブ形式はありますか?
この種の目的ファイル形式を実行可能ファイル形式に変換するのはリンカの役割ですか?
- 他の種類のオブジェクトファイルはありますか?
答え1
コアダンプは一種のオブジェクトファイルでもあり、通常はELF形式でもあります。このプログラムを実行すると、「core」というファイルが生成されることがあります。
int
main(int ac, char **av)
{
char *p = 0;
*p = 'a';
return 0;
}
私のfile
コマンドは次のとおりです。
core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from './dump'
答え2
はい!彼らもELFです。 ELFオブジェクトファイルと呼ばれます。