リンカ・ローダと実行形式
実行ファイルの.textセクションに入っているものはどれか。
- Aプログラムの機械語の命令
- Bプログラムの中で使う文章(テキストファイル)
- C実行中に入力された文字列
答えと解説を見る
正解:A. プログラムの機械語の命令
.textセクションには関数を翻訳した機械語の命令が入ります。実行中は読み取りと実行だけを許し、書き込みを禁止するのが普通で、誤った書き込みや攻撃者によるコードの書き換えを防げます。また書き換えないので、同じプログラムや共有ライブラリを複数のプロセスで動かすとき、物理メモリ上の1つのコピーを共有できます。
- A. 正しい。名前に反して文字ではなくコードの領域です。
- B. 名前はテキストでも、中身は機械語です。
- C. 入力はヒープやスタックなど実行時の領域に置かれます。