#ifndef, #define, #endif 사용시 주의 해야 한다.
#define define_msg 은 define_msg를 정의한다고 전처리기에게 알리는 것이다. #ifndef define_msg 은 전처리기에게 define_msg가 정의안되어 있다면, #endif 까지 "코드 인스턴스화" 하라는 뜻이다. #endif 는 #if??? 에서 여기까지 끝난 다는 뜻이다. #ifndef 와 #endif 는, 코드를 인스턴스화 할지 안할지를 결정하는데 많이 쓰이는데, 어제 이것 때문에 고생 꽤나 했었다. 다른곳에서 define 정의되어 있는지도 모르고, 다른 곳에서 버그를 고치려 했으니, "종로에서 뺨맞고 한강가서 화풀이 한다."를 한 꼴이다. 이 문제를 해결하기 위해서, 예전에 공부했다가, 어떤 사람이 했던 한가지 대안이 떠올랐다. 바로 파일 이름명을 이용하여, #defi..
연구실/파편화된 기록들
2009. 1. 4. 20:59
최근댓글