C언어

언어/C

[C] volatile 변수

volatile 변수오늘은 C언어의 volatile 변수에 대해 알아 보려고 한다.volatile은 변수를 선언할 때 변수 앞에 붙일 수 있는데, 이 키워드는 해당 변수를 최적화에서 제외하는 역할을 한다.이게 무슨 말인지 알려면 C언어의 컴파일러가 최적화하는 방식에 대해서 알아야한다. 예를 들어서, 다음과 같은 코드가 있다고 가정한다.int i = 0; while(i  C언어의 컴파일러는 이 코드를 최적화 하기 위해 while문을 없애버리고 그냥 i에 10을 할당하는 최적화 방식을 가지고 있다.반복되는 구문과 같은 불필요한 연산을 최적화한다고 생각하면 된다. 일반적인 상황에서는 이러한 최적화가 큰 이득이 될 것이다.하지만 만약 저 구문이 하드웨어 레지스터에 값을 쓰는 프로그램이라던가, 필수적으로 실행했..

ppusda
'C언어' 태그의 글 목록