본문 바로가기

잡다한 IT/참고용

volatile , restrict


컴파일러가 최적화를 하면, 중복되는 값을 스스로 판단해서 위의 그림처럼 진행한다.


그래서 최적화가 없어야 하는 변수에는 volatile 이라는 한정자를 지정하게 된다.


volatile 은 영어 뜻이 '휘발성이 있는'  이라는 뜻인데, 값이 날아가기 때문에 다시 읽어들여야한다.


즉 변수에 volatile 을 붙이면 아래의 그림처럼 그 데이터가 최적화를 하지 않게 된다. 



volatile = '최적화를 하지 말아라'  


그 반대로 사용하는 한정자는 


restrict = ' 최적화를 해라'



http://lunakimvision.blogspot.com/2016/11/volatile.html


(volatile 사용 이유)


http://heurinbada.tistory.com/25


참고 사이트



반응형

'잡다한 IT > 참고용' 카테고리의 다른 글

쉘 스크립트 공부 사이트  (0) 2018.07.19
컴파일 과정  (0) 2018.07.10
C와 C++ 구조체, 클래스  (0) 2018.06.20
new 와 malloc 의 차이점  (0) 2018.06.19
함수 포인터를 사용하는 이유?  (0) 2018.06.18