kunyoungparkk

C언어 volatile 본문

C++

C언어 volatile

박건영 2021. 10. 19. 17:34

변수 선언시 앞에 volatile을 붙이면,

해당 변수를 사용할 때 컴파일러가 최적화를 하지 않는다.

void A()
{
	volatile int a = 5;
	while(a<10)
    	{
    		a++
    	}
}

 

volatile을 선언하지 않았다면 의미가 없는 코드이기 때문에 컴파일러에서 생략하겠지만,

volatile로 선언되어있기 때문에 실제로 이 코드가 전부 실행된다.

 

보통 멀티스레드 환경에서 최적화 컴파일을 할 경우.

동시에 변수에 접근해서 예상하지 못하는 상황이 생길 수 있기 때문에 사용한다.

 

'C++' 카테고리의 다른 글

호출 규약  (0) 2021.10.25
endianness (엔디안)  (0) 2021.10.23
코드, 데이터, 힙, 스택 영역  (0) 2021.10.23
프로그래밍 팁  (0) 2021.10.19
컴파일 모드 (릴리즈모드, 디버그모드)  (0) 2021.10.17