0

特定のプロジェクトで、次のコンパイラ オプションが一度に使用されるのを見ました。

gcc foo.c -o foo.o -Icomponent1/subcomponent1 -Icomponent2/subcomponent1 -Wall -fPIC -s

-fPICここで と を一緒に-s使用することは矛盾していますか? そうでない場合、なぜですか?

4

1 に答える 1

1

-s-fPICは、異なる目的で使用される 2 つのフラグです。それらは矛盾していません。

gccマニュアルより

-s すべてのシンボル テーブルと再配置情報を実行可能ファイルから削除します。

-fPIC ターゲット マシンでサポートされている場合、動的リンクに適した位置に依存しないコードを生成し、グローバル オフセット テーブルのサイズ制限を回避します。このオプションは、m68k、PowerPC、および SPARC で違いを生みます。

于 2014-11-19T15:14:55.500 に答える