반응형

volatile 2

[C언어] 타입 한정자(type qualifiers)란?

C언어에서 타입 한정자(type qualifiers)는 변수나 포인터의 특성을 지정해 주는 키워드이다. 이들은 데이터 사용 방법을 더 명확히 하여, 최적화하거나 안전한 코드를 작성하는 데 도움을 준다.  1. constconst는 변수를 상수로 지정하여 해당 변수의 값을 변경하지 못하도록 한다.변수를 변경하려고 하면 컴파일러가 오류를 발생시킨다. 이 한정자를 사용하면 코드의 안전성을 높일 수 있다.const int maxValue = 200;maxValue = 300; // 오류 발생 2. volatilevolatile는 컴파일러에게 변수가 외부에서 변경될 수 있음을 알리는 한정자이다.컴파일러 최적화가 이러한 변수를 무시하지 않도록 하여 항상 최신 값을 사용하도록 보장한다.https://tgmalacom..

C언어 2024.10.18

[C언어] volatile 키워드란?

volatile은 C언어에서 변수의 값이 언제든지 변경될 수 있음을 컴파일러에 알려주는 키워드이다. 주로 MCU의 레지스터, 인터럽트에 의해 변경될 수 있는 변수, 다중 쓰레드 환경에서 사용된다. 최적화 방지를 위해 사용되며, 컴파일러가 불필요한 최적화를 하지 않도록 보장한다. 컴파일러는 코드의 속도를 위하여 코드 최적화를 수행한다.  #define control_register 0x7FFF*(unsigned int *)control_register = 0x0001;*(unsigned int *)control_register = 0x0004; 코드에서는 0x7FFF를 0x0001로 바꾸고 0x0004로 바꾼다. 결과적으로 0x0004로 바뀌기 때문에 컴파일러는 최적화를 위해0x0001로 바꾸는 작업을 무..

C언어 2024.10.11
반응형