コンパイラの警告 C4746

'<expression>' の揮発性のアクセスは /volatile:[iso|ms] 設定に従います。__iso_volatile_load/store 組み込み関数の使用を検討してください。

C4746 は、volatile 変数に直接アクセスするたびに生成されます。 これは、開発者が現在指定されている特定の揮発性モデル (/volatile コンパイラ オプションで制御可能) の影響を受けるコードの場所を特定できるようにするためのものです。 特に、/volatile:ms が使用されている場合、コンパイラによって生成されたハードウェア メモリ バリアを見つけるのに役立ちます。

__iso_volatile_load/store 組み込みを使用すると、揮発性モデルの影響を受けることなく、揮発性メモリに明示的にアクセスできます。 これらの組み込みを使用すると、C4746 はトリガーされません。

既定では、この警告はオフに設定されています。 詳細については、「 既定で無効になっているコンパイラ警告 」を参照してください。