目次 - SDL 3.0 API(機能別) - アトミック操作 - SDL_CompilerBarrier
SDL_CompilerBarrier
コンパイラバリアをマークするマクロ
ヘッダ
SDL3/SDL_atomic.h
構文
#define SDL_CompilerBarrier() DoCompilerSpecificReadWriteBarrier()
詳細
コンパイラバリアはコンパイラが呼び出しにまたがるグローバルに参照できる変数の読込と書込の順序を入れ替えるのを防ぐ.
この関数はコンパイラが読込と書込の順序を入れ替えるのを防ぐだけで, CPUが読込と書込の順序を入れ替えるのは防がない.
しかし, メモリを操作するアトミック操作はフルメモリバリアである.
スレッドセーフ
この関数はどのスレッドでも安全に使用できるのは明らかだが, これが必要な場合は恐らく慎重さを要するコードを扱っている. 注意すること!
バージョン
SDL 3.2.0以降
SDL Wikiへのリンク
SDL_CompilerBarrier - SDL Wiki