私はこの用語をPythonLispコンパイラといくつかのCリンカーのソースで見ました。
私の推測では、修正は、アライメントが正しいことを確認するアセンブリルーチンのラッパーにすぎないと思いますが、ここでは何もわかりません。
私はこの用語をPythonLispコンパイラといくつかのCリンカーのソースで見ました。
私の推測では、修正は、アライメントが正しいことを確認するアセンブリルーチンのラッパーにすぎないと思いますが、ここでは何もわかりません。
「フィックスアップ」はリンカー用語です。ここにはかなり良い議論があります:
http://www.microsoft.com/msj/0797/hood0797.aspx
オブジェクトファイル(.o、.obj)が外部シンボルを参照する場合は常に、「アドレス0をレジスタ5に配置する」などのプレースホルダーコードと、「その0にシンボル「foo」の実際のアドレスを入力する」というメモを出力します。 。他のオブジェクトファイルは「foo」を定義し、リンカは戻って0を正しいアドレスに「修正」します。
ちなみに、「foo」を定義している人がいない場合は、「_fooへの参照が見つからない」などのレトロな50のスタイルのエラーメッセージが表示されます。C++を使用している場合はさらにわかりにくくなります。
また、「foo」のアドレスがリンカが配置したい場所に適合しない場合に「修正エラー」が発生することはめったにありません。一般に、これは、大きすぎる相対オフセットを必要とする修正に起因します。
リンカーとローダーは、多くの専門用語を説明する興味深いインカーリソースであり、x86以外のCPUもあちこちに含まれています。
comp.compilersモデレーターから。