auの日記

プログラミング初心者の日記。(auはハンドルネームです)

C言語でvolatileを使う

auです。
前回は"const"について書きました。
program-shoshinsya.hatenablog.com
今回はvolatile(ボラタイル)について書きます。

volatileとは

volatileとは、組み込みソフトウェアなどで使われる修飾子です。
volatileをオブジェクトを宣言する前に付けることで修飾することができます。

volatile int i = 0;

volatileで修飾したオブジェクトは、コンパイルで最適化する際に最適化の対象にならなくなります。なぜそれが良いかというと、-O3などの最適化を付けた際にエラーが起きる部分をエラーがでなくする形にすることもできるということになります。