C++/Tips
[c++]volatile
C/C++ 프로그래밍 언어에서 이 키워드는 최적화 등 컴파일러의 재량을 제한하는 역할을 한다. 개발자가 설정한 개념을 구현하기 위해 코딩된 프로그램을 온전히 컴파일되도록 한다. 주로 최적화와 관련하여 volatile가 선언된 변수는 최적화에서 제외된다.[위키백과] => 즉, 컴파일러에서 최적화 하는 것을 막아버린다는건데, 아래의 예시로 설명하겠다. int num1; num1 = 1; // 컴파일러 최적화로 인한 삭제 num1 = 2; // 컴파일러 최적화로 인한 삭제 num1 = 3; => 위의 코드에서, 의미없이 num1변수를 재정의 하기 때문에, 컴파일러는 1,2의 작업을 삭제하는 최적화를 진행한다. => 그러나, 이것이 멀티쓰레드거나, 하드웨어 참조 코드여서 전부 적용시켜야 한다면, 위의 코드는 최..
2021. 1. 12. 14:36