본문 바로가기

C/C++

[기본]변수 키워드

- volatile 키워드

  1. cache 를 사용하지 않겠다.
    H/W에 있는 값을 즉각 즉각 읽어 와야 하는 경우에 사용합니다.
    보통의 경우 cache을 통해서 값을 읽어 오는데 cache를 통할경우 cache에 있는 값은 최신 데이터가 아닐수 있기 때문에 이런 경우를 방지하고자 할때 사용합니다.

  2. 최적화를 사용하지 않겠다.
    for(int i = 0 ; i < 10 ; i++ );
    이런 구문을 delay를 주기위한 목적으로 사용했다면 컴파일러가 최적화 과정에서 불필요한 코드라고 판단하고 생략하는 경우가 있습니다.
    이런 경우 volatile 키워드를 사용하면 방지할 수 있습니다.
    for(volatile int i = 0 ; i < 10 ; i++ );

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

[C/C++] Effective C++  (0) 2009.09.28
[C/C++] 문자열 16진수로 변환  (0) 2009.08.06
[Socket]Unix Socket 프로그래밍 방법들  (0) 2008.07.23
[Socket] Option  (0) 2008.07.08
Big Endian , Little Endian  (0) 2008.07.05