ロードとストアの組込み関数を使用して、特定のデータ・オブジェクトのメモリアクセスの順序を制限することができます。これを使用するのは、-serialize-volatile- オプションを使用して、ユーザのメモリアクセスの順序を厳密に抑止する場合です。
組込み関数 | プロトタイプ | 説明 |
---|---|---|
__st1_rel | void __st1_rel(void *dst, const char value); | st1.rel 命令を生成します。 |
__st2_rel | void __st2_rel(void *dst, const short value); | st2.rel 命令を生成します。 |
__st4_rel | void __st4_rel(void *dst, const int value); | st4.rel 命令を生成します。 |
__st8_rel | void __st8_rel(void *dst, const __int64 value); | st8.rel 命令を生成します。 |
__ld1_acq | unsigned char __ld1_acq(void *src); | ld1.acq 命令を生成します。 |
__ld2_acq | unsigned short __ld2_acq(void *src); | ld2.acq 命令を生成します。 |
__ld4_acq | unsigned int __ld4_acq(void *src); | ld4.acq 命令を生成します。 |
__ld8_acq | unsigned __int64 __ld8_acq(void *src); | ld8.acq 命令を生成します。 |