リンカ・ロ-ダ実践開発テクニック: 実行ファイルを作成するために必須の技術 (COMPUTER TECHNOLOGY)
- CQ出版 (2010年8月1日発売)
- Amazon.co.jp ・本 (303ページ)
- / ISBN・EAN: 9784789838078
作品紹介・あらすじ
本書では、リンカとローダについて、実践を交えながら説明します。コア・ダンプからの実行再開やリンカの自作など、興味深い実験も行います。
感想・レビュー・書評
-
タイトル通り実践的。助かる。
詳細をみるコメント0件をすべて表示 -
リンカやライブラリ周りでわからなくなった時に立ち帰れる本
-
ELFファイルの中をいじったり、リンカスクリプトをいじってconstな変数を変更できるようにしたりしながら、オブジェクトファイルを リンクして実行形式をどのように作られるかを色々な例を示しながら解説をしている。 コアファイルがELFなことを利用して、textなどを復元して、死んだところから再開させる、というところは興味深かった。 ただ、FreeBSDで例を示しているのでBSDさわったことないとパスとかがピンとこないかも。
-
BSS: Block Started by Symbol
VMA:Virtual Memory Address
LMA:Load Memory Address
カーネルはLMAとVMAが異なる。物理アドレスにLoadされ、後に仮想アドレスにマップしなおすため。objdump -hで確認可能。
セクション:ある属性をもつ区画。objdump -hで確認可能。リンクの単位。
セグメント:セクションの集合。objdump -pで確認可能。ロードの単位。
領域:テキスト、データ、BSSセクションのこと。
nm:シンボルテーブル(ネームリストとも言う)を確認するコマンド。
GNUのツールはmanよりinfo。 -
~2章。
-
仕事でリンカスクリプトをいじりたくなったので購入。
実例があるためわかりやすく,かなり実用的。
ただ,リンカスクリプトをいじる理由はまったく実用のためではなかったのは秘密中の秘密。
必要になったらまた読もう。 -
kozos の中の人の著作です.
J. R. Levine の名著「Linkers & Loaders」は歴史的経緯と理論的側面について書かれているのに対し, 本著は執筆時点 (2004年) 時点での FreeBSD もしくは NetBSD で実際に動く例を挙げながらリンカとローダの役割とそこで使われている技術について解説してあります.