|
[코드완성 에러 발생 요인]
1. 소스에 오류가 있을 때.
2. 생략 가능한 구문 중괄호 생략시.
3. 함수나 변수의 코딩 축약을 목적으로 #define을 사용할 경우.
제가 경험해 본 것으로는 위의 3가지입니다.
1번은 당연히 알 것이고,
------------------------------------------
2번의 경우는
if문, for문, while문등을 사용할 때
구문 중괄호 생략시 나타납니다.
예를들어, 아래의 경우
if(a > 0)
{
cout<<a;
}
다음과 같이 축약해서 사용 가능하지만
if(a > 0) cout<<a;
코드완성 기능에서는 이것 또한 문법 오류로 간주합니다.
생략 가능한 중괄호라 할지라도 써 줘야 코드완성 에러가 안 납니다.
------------------------------------------
3번의 경우는 CPU점유율을 100%까지 올리는 가장 좋은 방법입니다.(^^*)
결국 키가 안먹고 컴이 죽음.
아마도 컴파일시 바뀌어서 들어가는 #define의 특성 때문에 나타나는 문제인듯합니다.
코드 축약용으로 #define을 사용하는 것은 피하세요.
꼭 사용해야 한다면 사용하는 횟수를 줄이십시오.
도움이 되었기를 바랍니다.
--------------------------------------------
[해미의 작은 생각-310630]
『적어도 1개의 정품을 사용하자』
-> 내가 떳떳할 수 있는 길인 동시에 개발자를 살리는 길이다.
--------------------------------------------
작은 생각이 세상을 바꾼다 - 정성훈.해미 -
--------------------------------------------
궁금이 님이 쓰신 글 :
: Unable to invoke code completion due to errors in source code
:
: 메세지가 발생하면서 Code Completion 이 발생하지 않습니다. 왜 이럴까요?
:
: 보통 소스에 에러가 발생하면 Code Completion이 생기지 않는걸로 알고 있습니다..
:
: 에러도 없고 프로그램 실행도 잘됩니다..
:
: 근데 왜 이런 현상이 생기는 걸까요?
:
: 모든 코드에서 Code Completion이 생기지 않는 것도 아니고
:
: 일부에서는 생기고 일부에서는 생기지 않고 위와 같은 메세지가 나타납니다..
:
: (예를 들면 1500줄까지는 Code Completion이 생기고 1500줄 이상부터는 생기지 않습니다..)
:
: 참고로 Tool/Editor Properies/Code insight 도 체크를 하였습니다..
:
: 이유를 정말 알고 싶습니다..
:
: Code Completion이 생기지 않으니 프로그램 짜는데 너무 불편합니다..
:
: 도와주세요..
:
:
:
|