静的方法は、-d n オプションが使用された場合に選択されます。また、このモードを使用すると、再配置可能オブジェクトと静的実行プログラムを作成できます。この場合、再配置可能オブジェクトとアーカイブライブラリの入力形式だけが受け入れられます。-l オプションを使用すると、アーカイブライブラリが検索されます。
$ cc -dn -r -o temp.o file1.o file2.o file3.o ..... |
静的実行プログラムの使用は制限されています。静的実行プログラムには、通常、プラットフォーム固有な実装に依存した情報などが組み込まれ、これにより、他のプラットフォーム上で実行プログラムを実行することが制限されます。多くの Solaris ライブラリの実装は、dlopen(3DL) や 、dlsym(3DL) などの動的リンク機能に依存しています。詳細は、追加オブジェクトの読み込みを参照してください。これらの機能は、静的実行プログラムでは使用できません。
静的実行プログラムを作成するには、-r オプションを指定せずに -d n オプションを使用します。
$ cc -dn -o prog file1.o file2.o file3.o ..... |
-a オプションを使用して、静的実行プログラムの作成を指示できます。-d n を指定して -r を指定しない場合、-a が暗黙のうちに指定されます。