C, C++ /C

volatile

내 마음 아홉수 2017. 8. 7. 09:35

기능적 의미 : 노 캐시(no cache) 컴파일러가 프로그램이 시작될 때 속도를 위해 캐시로부터 값을 읽는다.

주메모리에서 읽어야하는 임베디드의 상황상 volatile을 써서 하드웨어의 변경사항이 프로그램에 반영되도록 한다.

또한 컴파일러가 최적화 조건으로 임의로 코드를 제거(데드 코드)하는 것을 막는다.