C언어 volatile

2021. 10. 19. 17:34C&C++

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

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

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

 

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

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

 

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

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

 

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

랜덤을 구현하는 방법  (0) 2021.11.07
#pragma once  (0) 2021.10.25
enum class  (0) 2021.10.25
프로그래밍 팁  (0) 2021.10.19
컴파일 모드 (릴리즈모드, 디버그모드)  (0) 2021.10.17