1. ホーム
  2. gcc

[解決済み] fpic` と `-fPIC` の gcc パラメータの違いは何ですか?

2022-10-04 04:20:09

質問

私はすでに gcc のマニュアルページを読みましたが、まだ -fpic-fPIC . どなたか、とても簡単でわかりやすく説明していただけませんか?


関連する質問

どのように解決するのですか?

http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

位置に依存しないコードを生成するために、 `-fPIC` または `-fpic` を使用する。位置に依存しないコードを生成するために、 `-fPIC` と `-fpic` のどちらを使用するかはターゲットに依存する。fPIC` を選択すると常に動作しますが、 `-fpic` よりも大きなコードが生成される可能性があります (これを覚えておくためのニモニックは、PIC は大きなケースに入っているので、より大きなコード量が生成される可能性があるということです)。fpic` オプションを使用すると、通常はより小さく高速なコードが生成されますが、グローバルに見えるシンボルの数やコードのサイズなど、プラットフォーム依存の制約があります。リンカは、共有ライブラリを作成するときに、それが適合するかどうかを教えてくれる。迷ったら、私は `-fPIC` を選びます。いつもうまくいくからです。