Skip to main content

IAR Embedded Workbench for Arm 9.70.x

コンパイラオプションの概要

このセクションの内容:

以下の表に、コンパイラのコマンドラインオプションの一覧を示します。

コマンドラインオプション

説明

‑‑aapcs

呼び出し規約を指定します。

‑‑aarch64

A64 命令セットを使用してコードを生成します

‑‑abi

A64命令セットを使用してコードを生成するために、データも出デルを指定します

‑‑aeabi

AEABI準拠のコード生成を有効にします。

‑‑align_sp_on_irq

__irq 関数に入るところでSPをアライメントするコードを生成します

‑‑arm

デフォルトの関数モードをArmに設定します。

‑‑branch__protection

BTI、PAC、または両方を使用してブランチ保護をサポートするコードを生成

‑‑c89

C89の派生言語を指定します。

‑‑char_is_signed

charを符号付として処理

‑‑char_is_unsigned

charを符号なしとして処理

‑‑cmse

CMSE安全部ジェクトの生成を有効にする

‑‑cpu

プロセッサ選択を指定します。

‑‑cpu_mode

関数のデフォルトCPUモードを指定します。

‑‑c++

標準C++を指定します。

-D

プリプロセッサシンボルを定義

‑‑debug

デバッガ情報を生成

‑‑dependencies

ファイル依存関係をリスト化

‑‑deprecated_feature_warnings

廃止された機能の警告を有効/無効にする

‑‑diag_error

エラーとして処理

‑‑diag_remark

リマークとして処理

‑‑diag_suppress

診断を無効化

‑‑diag_warning

ワーニングとして処理

--diagnostics_format

印刷診断のフォーマットを指定します。

‑‑diagnostics_tables

すべての診断メッセージをリスト化

‑‑discard_unused_publics

未使用のパブリックシンボルを破棄

‑‑dlib_config

DLIBライブラリのシステムインクルードファイルを使用して、どのライブラリの設定を使用するかを決定

‑‑do_explicit_zero_opt_in_named_sections

ユーザー名セクションにおいて、明示的なゼロへの初期化をゼロ初期化とみなします

--dynamic_output

すべての出力ファイルを構造化された形式でリストアップします

-e

IAR言語拡張を有効化

‑‑enable_hardware_workaround

特定のハードウェア回避策を有効にする

‑‑enable_restrict

標準のCのキーワード制限を有効にします。

‑‑endian

生成されるコードおよびデータのバイトオーダを指定します。

‑‑enum_is_int

列挙型の最小サイズを設定します。

‑‑error_limit

コンパイルを停止するエラー数の上限を指定

-f

コマンドラインを拡張

‑‑f

コマンドラインを拡張、オプションで依存関係を生成

‑‑fpu

浮動小数点ユニット型を選択します

--function_sections

ソースファイルの各関数を、結果のオブジェクトファイルの別のセクションに配置します

‑‑generate_entries_without_bounds

C-RUNが有効でないコードから呼び出し可能な関数を生成します。C-RUNのためのコンパイラおよびリンカのリファレンス』でC-RUNのドキュメントを参照してください

‑‑guard_calls

関数の静的変数初期化のガードを有効にします。

‑‑header_context

すべての参照先ソースファイルとヘッダファイルをリスト化

-I

インクルードファイルのパスを指定

‑‑ignore_uninstrumented_pointers

C-RUNが有効でないメモリからのポインタのチェックを無効化します。C-RUNのためのコンパイラおよびリンカのリファレンス』でC-RUNのドキュメントを参照してください

-l

リストファイルを生成

‑‑language

IARまたはGNU言語拡張を有効化

‑‑libc++

コンパイラとリンカがLibc++ライブラリを使用するようにします。

‑‑lock_regs

コンパイラが指定のレジスタを使用しないようにします。

‑‑macro_positions_in _diagnostics

診断メッセージでマクロ内の位置を取得

‑‑make_all_definitions_weak

すべての変数と関数の定義を弱い定義にします。

‑‑max_cost_constexpr_call

constexpr評価コストに制限を指定します

‑‑max_depth_constexpr_call

constexpr再帰深度に制限を指定します

‑‑mfc

複数ファイルのコンパイルを有効化

‑‑no_alignment_reduction

単純なthumb 関数のアライメント縮小を無効にします。

‑‑no_bom

UTF-8出力ファイルのバイト オーダーマークを省略します

‑‑no_call_frame_info

コールフレーム情報の出力を無効にします

‑‑no_clustering

静的クラスタ最適化を無効にします。

‑‑no_code_motion

コード移動最適化を無効化

‑‑no_const_align

定数のアライメント最適化を無効にします。

‑‑no_cse

共通部分式除去を無効化

‑‑no_default_fp_contract

STDC FP_CONTRACT のデフォルト値をOFFに設定します

‑‑no_exceptions

C++例外のサポートを無効化

‑‑no_fragments

セクションフラグメント処理を無効化

‑‑no_inline

関数インライン化を無効化

‑‑no_literal_pool

データの読取りが許可されておらず、コードの実行のみが可能なメモリ領域から実行されるコードを生成します。

‑‑no_loop_align

ループ内のラベルのアライメントを無効化

‑‑no_mem_idioms

コンパイラで、特定のメモリアクセスのパターンを最適化しないようにします

‑‑no_normalize_file_macros

シンボル__FILE__および__BASE_FILE__のパスの標準化を無効化

‑‑no_path_in_file_macros

シンボル__FILE__および__BASE_FILE__のリターン値からパスを削除

‑‑no_rtti

C++ RTTIのサポートを無効化

‑‑no_rw_dynamic_init

静的C変数のランタイムの初期化を無効化

‑‑no_scheduling

命令スケジューラを無効にします。

‑‑no_size_constraints

速度を優先して最適化するときに、コードサイズ拡張の通常の制限を緩和します

‑‑no_static_destruction

プログラム終了時にC++静的変数の破壊を無効化します。

‑‑no_system_include

システムインクルードファイルの自動検索を無効化します。

‑‑no_tbaa

型ベースエイリアス解析を無効化

‑‑no_typedefs_in_diagnostics

診断でのtypedef名の使用を無効化

‑‑no_unaligned_access

アライメントされないアクセスを回避します。

‑‑no_uniform_attribute_syntax

IAR タイプの属性のデフォルトの構文規則を指定します

‑‑no_unroll

ループ展開を無効化

‑‑no_var_align

そのタイプのアライメントに基づいて、変数オブジェクトを整列します

‑‑no_warnings

すべての警告を無効化

‑‑no_wrap_diagnostics

診断メッセージのラッピングを無効化

‑‑nonportable_path_warnings

ソースヘッダファイルを開くために使用するパスが、ファイルシステムのパスと同じケースでないときに、ワーニングを生成します

-O

最適化レベルを設定

-o

オブジェクトファイル名を設定します。--outputのエイリアス

‑‑only_stdout

標準出力のみを使用します

‑‑output

オブジェクトファイル名を設定

‑‑pending_instantiations

任意のC++テンプレートのインスタンス化の最大数を設定します

‑‑predef_macros

定義済シンボルの一覧を表示

‑‑preinclude

ソースファイルを読み込む前にインクルードファイルをインクルード

‑‑preprocess

プリプロセッサ出力を生成

‑‑public_equ

グローバル名のアセンブララベルを定義

-r

デバッガ情報を生成。--debugのエイリアス。

‑‑relaxed_fp

浮動小数点式の最適化規則を緩和します。

‑‑remarks

リマークを有効化

‑‑require_prototypes

関数が定義前に宣言されていることを検証

‑‑ropi

コードおよび読み出し専用データへのアドレス指定にPC相対参照を使用するコードを生成します

‑‑ropi_cb

定数データ、レジスタR8への相対をベースにしたアドレスへのすべてのアクセスを作成します。

‑‑runtime_checking

ランタイムのエラー解析を有効にします。C-RUNのためのコンパイラおよびリンカのリファレンス』でC-RUNのドキュメントを参照してください

‑‑rwpi

静的ベースレジスタからアドレス書込み可能なデータへのオフセットを使用するコードを生成

‑‑rwpi_near

静的ベースレジスタからアドレス書込み可能なデータへのオフセットを使用するコードを生成 最大64Kbyteのメモリを指定します。

‑‑section

セクション名を変更

‑‑section_prefix

プリフィックスをセクション名前に追加

‑‑shared

‑‑shared(コンパイラオプション)を参照してください

‑‑silent

サイレント処理を設定

‑‑source_encoding

ソースファイルのエンコードを指定します

‑‑stack_protection

スタック保護を有効にする

‑‑strict

標準C/C++への厳密な準拠を確認

‑‑system_include_dir

システムインクルードファイルのパスを指定

‑‑text_out

テキスト出力ファイルのエンコードを指定します

‑‑thumb

デフォルトの関数モードをThumbに設定します。

‑‑uniform_attribute_syntax

constおよびvolatileのようにIARタイプ属性に同じ構文規則を指定します

‑‑use_c++_inline

CでC++インライン動作を使用

‑‑use_paths_as_written

デバッグ情報の書き込みとしてパスを使用

‑‑use_unix_directory_separators

パス内で/をディレクトリの区切り文字として使用

‑‑utf8_text_in

テキスト入力ファイルにUTF-8 エンコードを使用します

‑‑vectorize

NEON ベクタ命令の生成を有効にする

‑‑version

コンパイラの出力をコンソールに送信し、終了します

‑‑visibility

‑‑visibilityを参照してください

‑‑vla

VLAのサポートを有効化

‑‑warn_about_c_style_casts

C-スタイルキャストがC++ ソースコードで使用されるときにコンパイラを警告

‑‑warn_about_incomplete_constructors

コンパイラに、すべてのメンバーを初期化しないコンストラクタについて警告させる

‑‑warn_about_missing_field_initializers

コンパイラに、明示的なイニシャライザなしのフィールドについて警告させる

‑‑warnings_affect_exit_code

ワーニングが終了コードに影響

‑‑warnings_are_errors

ワーニングをエラーとして処理

表95 コンパイラオプションの一覧