[App 개발] Xcode 사용하다 보면, 변수의 타입을 인식하지 못합니다.
본문
Xcode를 사용해서, 기초 C++공부를 시작으로, 지금은 이곳의 오픈GL 강좌를 보며
여러가지를 배우고 있습니다.
그런데, 사용을 하다보니 이상한 버그가 생겼습니다.
윈도우 환경에서는 BOOL 타입의 변수를 선언할 때 문제가 없었는데, Xcode는 소문자로
써야 하더군요. 그런데, 대-소 문자가 문제가 아니라, 어떨때는 아예 인식을 못합니다.
지금이 그런 상황입니다. bool 타이핑을 해도, 알파벳 색이 변하지 않고 또, 빌드 해보면
에러가 납니다.
마찬가지로, new 를 타이핑 해도 색이 변하지 않습니다. 물론 빌드를 해보면 에러가 뜨지요.
새로운 프로젝트를 만들고 타이핑 해보면 정상 입니다. 사실 지금 문제가 생긴 프로젝트도
불과 오전까지만 해도 정상이었습니다...
왜 이런 버그가 생기는 건가요? 다른 변수 타입은 정상 입니다. int, char 등등...
최신글이 없습니다.
최신글이 없습니다.
댓글목록 2
hongjuny님의 댓글
일단, 윈도우에서 사용하는 BOOL 타입은 ANSI C/C++ 규약에 정의된 타입이 아닙니다. 원래 C 에는 boolean 타입이 없지요. 그래서 윈도우를 처음 만들던 당시 Windows API 를 만들 적에 BOOL 이라는 타입을 따로 선언한 것입니다.
일단 보시면, C Run-Time 라이브러리에서 선언된 변수 및 함수들은 모두 소문자로 구성되어 있지요? 그 외에 사용자가 정의하는 매크로 상수 혹은 변수들은 대문자로 선언하는 것이 관례처럼 되어 있습니다. BOOL 같은 것이 바로 그런 것이지요.
소문자 bool 혹은 boolean 은 C++ 에서 선언된 타입입니다. true false 모두 소문자로 쓸 수 있지요. 그리고, new 와 delete 역시 C++ 의 규약입니다. C 소스로 만들 적에는 모두 malloc 함수 등으로 대체하셔야 합니다.
빌드가 안 되었다는 것은 아마도 C 로 컴파일되었기 때문이라 생각되는데요, 확장자를 cpp 에서 c 로 바꾸신 적은 없는지, 혹은 코코아로 빌드하신다면 mm 을 m 으로 변경하신 적은 없는지 확인해 보시면 좋겠습니다.
김영환님의 댓글
빠른 답변 감사합니다.
제가 어제 카본을 처음 시작하였는데, 지금보니 카본 프로젝트는 기본적으로 .c 를 생성하더군요; 이제야 알겠습니다 ㅎㅎ;