2009年9月12日土曜日

微妙に肩が痛いし暇だ

 けど、右手しか使えない。
俺の volatile の理解

1.処理系依存だが


volatile int x;

void hoge() {
....
do {
....
// ここで volatile 修飾子ならレジスタ上にxの値が
// ロードされていても、メモリからの再ロードが実行される
// そのようなヒントをコンパイラに与える
} while( x )
}

ただし、マルチスレッドの同期保護とは無関係。組込系の割込処理を扱う人と、感覚が違って話が噛み合わないのではないかと、推察。俺もシラネ
2. メンバ関数

 volatile 修飾されたクラス変数は、volatile 修飾されたメンバ関数を優先的にコールする
これは、cppll で、話題になって、へぇ~だったのを覚えている。しかし、この機構を利用してクラス設計をしてみようとまでは思い至っていない。

0 件のコメント: