C/C++

[기본]변수 키워드

알 수 없는 사용자 2008. 7. 14. 22:55
- 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++ );