Skip to main content

IAR Embedded Workbench for Arm 9.70.x

マルチスレッドのサポートの有効化

このセクションの内容:
スレッド化されたアプリケーションで使用するマルチスレッドサポートを構成するには、以下の手順に従います。
  1. マルチスレッドサポートを有効にするには、以下の手順に従います。

    危険

    コマンドラインでは、リンカオプション‑‑threaded_libを使用します。

    C++を使用する場合、IDEはコンパイラオプション--guard_callsを自動的に使用して、動的イニシャライザを持つ関数-静的変数が、複数のスレッドによって同時に初期化されないようにします。

    注意

    IDEで、[プロジェクト]>[オプション]>[一般オプション]>[ライブラリ設定]>[ライブラリでスレッドのサポートを有効にする]を選択します。これは、リンカオプション--threaded_libを呼び出し、C++を使用する場合、IDEはコンパイラオプション--guard_callsを自動的に使用して、動的イニシャライザを持つ関数-静的変数が、複数のスレッドによって同時に初期化されないようにします。

  2. ランタイムライブラリ内でビルトインのマルチスレッドサポートを補完するには、以下も実行する必要があります。

    • ライブラリの システムロックインターフェース のコードを実装する。

    • ファイルストリームを使用している場合は、ライブラリの ファイルストリームロックインターフェース のコードも実装する。

    • 実装コードは、スレッドの作成と破棄、およびライブラリのTLSアクセス方法を処理します。

    DLib_Threads.hファイルで必要な宣言の関数を見つけることができます。また詳細もあります。

  3. プロジェクトをビルドします。

    注記

    サードパーティのRTOSを使用している場合、IARのツールでマルチスレッドのサポートを有効にする方法については、その会社のガイドラインを確認してください。