• 締切済み

共有ライブリの作成。-fPICオプションは必須?

http://0xcc.net/blog/archives/000107.html http://linuxjf.sourceforge.jp/JFdocs/Program-Library-HOWTO/shared-libraries.html UnixやLinuxで共有ライブラリのコンパイル・ビルドに-fPICや-KPICのオプションは必須ですか? 共有ライブラリ(起動時自動的にロード)で必須で、 動的ライブラリ(実行中に関数を使ってロード。)の場合、不要という事でしょうか?

みんなの回答

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>>あえていうなら共有することがあるか、ないか。 >スタティックライブラリ(アーカイブファイル .a)も >ある意味で共有ですが、 >これは、含まれませんね。 共有ライブラリの「共有」はメモリにロードしたコード部分のプロセス同士での共有の事なのでスタティックライブラリは含まれませんね。 ご自分でも書かれている http://0xcc.net/blog/archives/000107.html はよく書かれてると思いますから、よく読んでみるといいと思いますよ。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

必須というわけではないですが指定した方がよいです。 >共有ライブラリ(起動時自動的にロード)で必須で、 >動的ライブラリ(実行中に関数を使ってロード。)の場合、不要という事でしょうか? そのような区別ではないです。 あえていうなら共有することがあるか、ないか。 詳しく知りたいということになるとC言語ではなく、マシン語やローダーがライブラリをロードするときどのような事を行っているかの話になります。

javaeg
質問者

補足

どうもありがとうございます。 「必須」とか「必要」とか、説明しているサイトが多い様な・・・。 >あえていうなら共有することがあるか、ないか。 スタティックライブラリ(アーカイブファイル .a)も ある意味で共有ですが、 これは、含まれませんね。

関連するQ&A