一般的なオプション - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 日本語
-E
プリプロセスのみを実行し、コンパイル、アセンブリ、リンクは実行しません。プリプロセスの結果は、標準の出力デバイスに表示されます。
-S
コンパイルのみを実行し、アセンブリ、リンクは実行しません。.s ファイルを生成します。
-c
コンパイルおよびアセンブリのみを実行し、リンクは実行しません。.o ファイルを生成します。
-g
出力ファイルに DWARF2 ベースのデバッグ情報を追加します。このデバッグ情報は、GNU デバッガー (mb-gdb または arm-none-eabi-gdb) により必要とされます。デバッガーでは、ソース レベルまたはアセンブリ レベルでデバッグを実行できます。このオプションは、入力が C または C++ ソース ファイルである場合にのみデバッグ情報を追加します。
-gstabs
ソース レベルのアセンブリ ファイル (.S) およびアセンブリ ファイル シンボルに STABS ベースのデバッグ情報を追加します。これはアセンブラー オプションで、GNU アセンブラー (mb-as または arm-none-eabi-as) に直接渡されます。アセンブリ ファイルがコンパイラ (mb-gcc または arm-none-eabi-gcc) を使用してコンパイルされている場合は、-Wa を前に付けてください。
-On
GNU コンパイラの最適化レベルを指定します。次の表にある最適化レベルは、C および C++ ソース ファイルにのみ適用されます。
表 1. 最適化レベル
n 最適化
0 最適化は実行されません。
1 中レベルの最適化が実行されます。
2 完全な最適化を実行します。
3 完全な最適化を実行します。サブプログラムをインライン化します。
S サイズを小さくするよう最適化します。
注記: 最適化レベルを 1 以上にすると、コードの構成が変わります。コードのデバッグ中は、最適化レベルを 0 にすることをお勧めします。最適化したプログラムを GDB でデバッグすると、結果が不一致のように見える場合があります。
-v
コンパイラおよびコンパイルに関連するすべてのツールを詳細モードで実行します。このオプションを使用すると、ツールで使用されたオプションの詳細が得られるので、各ツールのデフォルト オプションを見つけやすくなります。
-save-temps
コンパイル中に生成された中間ファイルを保存します。次のファイルが保存されます。
  • プリプロセッサ出力 (C コードでは input_file_name.i、C++ では input_file_name.ii)
  • アセンブリ フォーマットのコンパイラ (cc1) 出力 (input_file_name.s)
  • ELF フォーマットのアセンブラー出力 (input_file_name.s)

デフォルトでは、コンパイルの内容全体が a.out に保存されます。

-o filename
コンパイルの出力ファイルは、デフォルトでは a.out という ELF ファイルです。このファイル名は、-o オプションを使用して変更できます。出力ファイルは ELF フォーマットで生成されます。
-Wp,<option>-Wa,<option>、および -Wl,<option>
コンパイラ (mb-gcc または arm-none-eabi-gcc) はラッパー ファイルで、プリプロセッサ、コンパイラ (cc1)、アセンブラー、リンカーなどを呼び出します。これらのツールは、最上位コンパイラを介してまとめて、または個別に実行できます。

これらのツールでは必要でも、最上位のコンパイラでは不要なオプションもあります。オプションは、次の表に示すように指定します。

表 2. ツール別オプションの指定方法
オプション ツール
-Wp,<option> プリプロセッサ
mb-gcc -Wp,-D -Wp, MYDEFINE ...

プリプロセッサで -D MYDEFINE オプションを使用してシンボル MYDEFINE を定義します。

-Wa,<option> アセンブラー
mb-as -Wa, ...

アセンブラーで MicroBlaze プロセッサをターゲットに指定します。

-Wl,<option> linker
mb-gcc -Wl,-M ...

-M オプションを使用してマップ ファイルを生成します。

-help
GNU コンパイラで使用可能なオプションに関する情報を表示します。GCC のマニュアルも参照してください。
-B directory
C のランタイムのライブラリ検索パスに directory を追加します。
-L directory
ライブラリ検索パスに directory を追加します。
-I directory
ヘッダー検索パスに directory を追加します。
-l library
未定義のシンボルを library で検索します。
注記: このコマンド ライン オプションで指定したライブラリ名に、lib という接頭辞が追加されます。