volatile로 선언된 변수는 최적화를 수행하지 않는다.
즉, 변수를 참조할 때 register에 올라온 값을 이용하는 것이 아니라 메모리로부터 직접 참조하도록 한다.
주로 언제 변수의 값이 변경될 지 모르는 상황에서 volatile 키워드로 변수를 선언한다.
예를 들어, signal이 전달되었음을 인지하기 위한 flag 변수에 대해 volatile로 선언해줄 수 있다.(signal이 전달되어 flag변수가 true가 되었음에도 불구하고, register의 값을 참조한다면 이전의 false값을 이용할 수 있으므로)
'다전공_컴퓨터공학 > C, JAVA, PYTHON' 카테고리의 다른 글
[Python] nonlocal (0) | 2021.01.08 |
---|---|
[JAVA] 3장 연산자 (0) | 2021.01.06 |
[JAVA] 2장 변수와 타입 (0) | 2021.01.05 |
[C] struct, union (0) | 2020.12.03 |
[C] 전역변수와 정적변수 (0) | 2020.11.20 |