Skip to main content

IAR Embedded Workbench for Arm 9.70.x

‑‑ropi

このセクションの内容:
構文

‑‑ropi=[pc|cb]

パラメータ

pc(デフォルト)

コンパイラは、PC相対参照を使用してコードと読み取り専用データをアドレス指定します。

cb

コンパイラは、定数ベースレジスタ(R8)を基準としたオフセットを使用します。これは、--ropi--ropi_cbと一緒に使用することに対応します。

説明

このオプションを使用して、コンパイラが、読み取り専用データへの位置に依存しないアクセスに使用する方法を選択します。64ビットモードでは、このオプションは利用できません。

このオプションを使用する場合、以下の制限が適用されます。

  • C++の構文は使用できません

  • オブジェクト属性__ramfuncは使用できません

  • 別の定数、文字列リテラル、関数のアドレスを使用してポインタ定数は初期化できません。ただし、書込み可能な変数は実行時に定数アドレスに初期化することができます。

リンカ設定ファイルのmovableブロックを使用することを検討します。define blockディレクティブを参照してください。

関連項目

‑‑no_rw_dynamic_init定義済プリプロセッサシンボルの詳細

注意

[プロジェクト]>[オプション]>[C/C++コンパイラ]>[コード]>[コードおよびリードオンリのデータ(ropi)]