Sun Studio 12 Update 1: C++ ユーザーズガイド

A.2.153 -xnolib

デフォルトのシステムライブラリとのリンクを無効にします

通常 (このオプションを指定しない場合)、C++ コンパイラは、C++ プログラムをサポートするためにいくつかのシステムライブラリとリンクします。このオプションを指定すると、デフォルトのシステムサポートライブラリとリンクするための -llib オプションが ld に渡されません。

通常、コンパイラは、システムサポートライブラリにこの順序でリンクします。


-lCstd -lCrun -lm -lc

-lC -lm -lc

-l オプションの順序は重要です。-lm オプションは -lc の前にある必要があります。


注 –

-mt コンパイラオプションを指定した場合、コンパイラは通常 -lm でリンクする直前に -lthread でリンクします。


デフォルトでどのシステムサポートライブラリがリンクされるかを知りたい場合は、コンパイルで-dryrun オプションを指定します。たとえば、次のコマンドを実行するとします。


example% CC foo.cc -xarch=v9 -dryrun

前述の出力には次の行が含まれます。


-lCstd -lCrun -lm -lc

A.2.153.1 例

C アプリケーションのバイナリインタフェースを満たす最小限のコンパイルを行う場合、つまり、C サポートだけが必要な C++ プログラムの場合は、次のように指定します。


example% CC– xnolib test.cc –lc

一般的なアーキテクチャー命令を持つシングルスレッドアプリケーションに libm を静的にリンクするには、次のように指定します。

相互の関連性

-xnolib を指定する場合は、必要なすべてのシステムサポートライブラリを手動で一定の順序にリンクする必要があります。システムサポートライブラリは最後にリンクしなければいけません。

-xnolib を指定すると、-library は無視されます。

警告

C++ 言語の多くの機能では、libC (互換モード) または libCrun (標準モード) を使用する必要があります。

このリリースのシステムサポートライブラリは安定していないため、リリースごとに変更される可能性があります。

関連項目

-library-staticlib-l