私は自分自身をかなり経験豊富なプログラマーだと考えています。しかし、今日に至るまで、オブジェクト ファイルとは何か、またはその内容を完全に説明することはできません。-fPIC
GCC が共有ライブラリを作成するオプションを必要とする理由がわかりません。リンカーが実際に何であるか、またはそれがどのように機能するかはわかりません。ranlib
、libtool
、nm
などが実際に何をしているのかわかりません。バイナリ ファイルを逆アセンブルする方法は知っていますが、見たものを解釈する方法がわかりません。
要するに、多くのプログラマーと同様に、コンパイル プロセスに関する私の理解は非常に限られています。利用可能なドキュメントは、すでに知っている人々を対象としているように思えます。マンページも同様です。
Google もウィキペディアもあまり役に立ちませんでした。したがって、プログラム テキストを実行可能なバイナリに変換する基本的な概念について、入門レベルの説明はありますか?