시스템에서 드라이브 추가 혹은 제거되었을 때를 자동으로 감시하는 코드

출처 : http://www.codeproject.com/useritems/Drive_Detect.asp

시스템에서 플로피/하드/CD-ROM/이동 드라이브가 추가 혹은 제거되었을 때를 자동으로 감시하는 코드입니다. 우선 헤더 파일을 프로젝트에 추가하여 줍니다.

아래의 메시지 핸들러를 추가합니다. 클래스 위저드를 통해서 추가할 수 없으니 수동으로 추가하여 주세요.

mutable 키워드

volatile 저장소

컴파일러의 최적화에 따라서는, 변수 N의 값을 다시 변수 N에 저장하는 대신 하나의 레지스터에 남겨 둘 수도 있다. 이런 문제를 컴파일러 최적화 옵션들을 변경하는 식으로 해결하는 것은 코드 전반의 성능에 나쁜 영향을 미칠 수 있다. 올바른 해법은 ANSI C의 volatile 저장소 … 모두 보기

pragma의 어원

이거 궁금하신 분들이 만으리라 생각됩니다.

유래가 Ada까지 거슬러 가는군요. (http://archive.adaic.com/standards/83rat/html/ratl-02-01.html)

pragma, 그리스어로 action 이라는 뜻이군요. 컴파일러에게 특별한 방법으로 action을 취하라는 프리프로세서와 유사한 녀석이죠^^

저의 의문 하나가 풀리는 순간입니다. [커닝헌 책에]

PP233, A12.8 Pragmas
모두 보기

실수형에서 정수형 형변환 성능 높이기

일반적으로 실수형에서 정수형으로 형변환을 하는 경우가 종종 있다. 이때 보통 묵시적으로 컴파일러가 알아서 해 줄수 있지만 이렇게 할 경우에 속도가 상당히 느리다. 한두번은 빠르게 느껴져도 이게 백만번, 천만번일 경우 형변환 부분에서 전체 함수의 90%까지 잡아먹을 수도 있다. 이럴경우 아래의 코드를 … 모두 보기