다소 오래된 코드베이스로 작업하고 있으며 모두 C99 이전입니다. 따라서 bool
유형이 아니라 BOOLEAN
열거 형입니다. 나는 젊은 총이다. 그래서 VS 2010을 좋아하지만, 오래된 코드베이스에서 특히 잘 돌아 가지 않는다. MSVC2010을 사용하여 인라인 오류 강조 표시를하고있는 것 같아요.
MSVC2010이 C99 표준
을 따르고 있습니다. 나는 이것에 대해 잘못 될 수 있지만, 어떤 경우 든, BOOLEAN 변수에 부울 표현식을 할당하면 "오류"가 강조됩니다. 의 =
에 오류가 강조 될 것 VS2010 편집기에서Visual Studio 2010에서 C99 이전 구문 사용
typedef enum boolean_tag {FALSE, TRUE} BOOLEAN;
BOOLEAN test = FALSE;
test = 1 == 1;
, 그리고 마우스 커서를 가져다 대면 형 bool
의 값이 유형 BOOLEAN
의 기관에 할당 할 수 없음을주의 할 것이다 : 나는 간단한 예를 줄 것이다. pre-C99에는 bool
의 개념이 없으므로이 값은 단순히 enum 값을 할당해야하므로 오류가 아닙니다.
그래서 제 질문은 VS2010에 사전 C99 구문/오류 검사를 사용하도록 지시하는 방법이 있습니까? 또는 다른 방법으로, 그리고 이것은 스트레치입니다.이 함수를 위해 또 다른 컴파일러를 사용합니까?
감사합니다.
편집 : 수정 MSVC2010 가정 몇 가지 고려해야 할
편집기에서 이것을 오류로 알리는 경우에도 컴파일합니까? 편집기는 실제 컴파일러보다 _different_ 파서를 사용합니다. –
Windows API는'#define TRUE 1'을 사용합니다. 어쩌면 그 코드 하이 라이터가 어지럽습니까? 나는 MSVC에서 C 코드를 읽을 때 가장 높은'= '기호를 무시하는 법을 배웠다. –
Microsoft 컴파일러는 C99을 지원하지 않으므로 Microsoft는 C99를 변경할 의도가 없음을 분명히했습니다. VS가 C++ 모드를 사용하고있는 것처럼 보입니다. –