タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

リンクとビルドに関するmtbtaizoのブックマーク (2)

  • 先輩教えて!プログラミングのabc(第1回)---コンパイルとビルドって何が違うの(中)

    もう一つリンクの重要な役割は,参照しているアドレスの確定である。コンパイルした結果は,実行モジュールのどの位置に配置されるか決まっていない。逆に言えば場所を変更できる,つまり再配置可能な状態にある。これをリロケータブル・オブジェクトと呼ぶ注3)。UNIXでは「.o」,Windowsでは「.obj」という拡張子で表現されることが多い。 リロケータブル・オブジェクトは,複数の実行モジュールで使われることがある。実行モジュールのどの位置を占めるかは,プログラムによって違う。しかし実行モジュールとして完成させるには,位置が決まっていなければならない。プログラムの中の位置を確定させることが,リンクのもう一つの作業である(図5[拡大表示])。リロケータブル・オブジェクトの状態では,サブルーチンやデータなどの位置を名前で参照できるようになっている。実行モジュールでは,基的に名前ではなくアドレスで参照す

    先輩教えて!プログラミングのabc(第1回)---コンパイルとビルドって何が違うの(中)
  • 先輩教えて!プログラミングのabc(第1回)---コンパイルとビルドって何が違うの(上)

    「先輩,前から疑問に思ってたんですが,これ何のエラーですか」 「ああ,これはリンクのときのエラー・メッセージだよ」 「リンクって,何ですか」 「え?知らないの。最近のツールは,コンパイルだリンクだって言わないからなぁ・・・。リンクってのは,コンパイルしてできたものを全部つなげることだよ。ビルドすると,コンパイルの後にリンクまでやってるんだ」 「???。全然わかんないです。大体,ビルドとコンパイルって,やってること同じに見えるんですけど。違うんですか?」 「よし,じゃぁちょっと,腰をいれて説明しようか」 Visual StudioやDelphiなどのツールを利用してプログラムを作っていると,見えてこないのが実行モジュールができるまでのプロセスである。当たり前のことだが,ソース・コードは人間が理解できる形でプログラムを表現したものであり,コンピュータは理解できない。だからコンピュータが理解で

    先輩教えて!プログラミングのabc(第1回)---コンパイルとビルドって何が違うの(上)
  • 1