반응형
volatile은 휘발성이라 뜻이다. 변수를 volatile로 선언하면 그 변수가 휘발성이라는 뜻이다.
다음과 같이 i에 1을 3번 대입하는 코드가 있을 때
int i;
i = 1;
i = 1;
i = 1;
컴파일러의 최적화에 따라 다음과 같이 변환하여 컴파일 한다.
int i;
i = 1;
하지만 다음과 같이 volatile을 사용하면 최적화하지 않고 다음과 같이 있는 그대로 컴파일한다.
volatile int i;
i = 1;
i = 1;
i = 1;
volatile은 임베디드 시스템에서 많이 사용한다. 주변장치 접근이나 인터럽터가 사용될 때 volatile을 사용한다.
반응형
'컴퓨터 > C' 카테고리의 다른 글
[C] 공용체 union (0) | 2020.12.23 |
---|---|
가장 큰 숫자 구하는 매크로 함수 (0) | 2020.12.22 |
[C] static 선언 (0) | 2020.11.14 |
[C] 특정 번지의 데이터 읽기 쓰기 (0) | 2020.11.12 |
C의 ABS 매크로 함수 (0) | 2020.11.01 |
댓글