2009-07-07 3 views
9

다음 오류가 발생하여 문제를 해결하는 데 도움이 될 수 있습니다.VC++ 내부 컴파일러 오류

심각한 오류 C1001 : INTERNAL 컴파일러 ERROR (컴파일러 파일 'F : \ vs70builds 3077 \ 벤처 \ 컴파일러 \ \ CxxFE \ SL \ P1 \ C \의 pdbmgr.cpp' 라인 (149))를 선택하세요 기술 지원은 Visual C++ 도움말 메뉴에서 명령 또는 매우 불행한 일입니다 자세한 내용

+2

왜 이것을 downvoted/vote 닫으시겠습니까? 나에게 공정한 질문이있다. 비록 그것에 대한 좋은 대답이 없다하더라도, – jalf

+1

예, 당신이이 상황에 여러 번 있었다면 매우 실질적인 질문이다. – sharptooth

+1

@Neil : 그리 게으르지 않아. 언어 문법을 위반하고 컴파일러가 오류 메시지를 생성하는 것은 일반적입니다. 실제로 컴파일러가 완벽하게 올바른 코드를 컴파일하는 것을 거부한다는 메시지를 보는 것이 일반적이지 않습니다. – sharptooth

답변

1

은 기술 지원 도움말 파일을 엽니 다. 이러한 표시는 명백한 이유가없는 한 한 번 나타납니다. MSDN조차도 코드로 가서 최적화 pragma를 사용하는 것이 좋습니다. 어떤 표시가이 표시를 야기하는지 감지하고 어떻게 든 다시 작성해야합니다. 또는 최신 버전의 VC++를 사용할 수 있습니다.

3

아니, 너는 망했다. 컴파일러에서 오류가 발생했습니다. 최적화 설정, #pragmas 및 코드 작동으로 작동 할 때까지 재생하십시오.

그리고 아마도 connect.microsoft.com에 대한 버그 리포트를 제출

1

내부 컴파일러 오류 (컴파일러 파일 파일, 줄 번호) 컴파일러는 아마도 식의 조합, 구문에 대해 올바른 코드를 생성 할 수 있습니다 및 최적화 옵션이 있습니다. 하나 이상의 최적화 옵션을 제거하고 오류 메시지에 표시된 행을 포함하는 함수를 다시 컴파일하십시오. 하나 이상의 최적화 옵션을 제거하여 문제를 해결할 수 있습니다. 오류가있는 옵션을 확인하려면 옵션을 한 번에 하나씩 제거하고 오류 메시지가 사라질 때까지 다시 컴파일하십시오. 가장 일반적으로 담당하는 옵션은/Og,/Oi 및/Oa입니다. 어떤 옵션이 책임 져야하는지 결정한 후에는 오류가 발생한 곳에서 함수를 중심으로 optimize pragma를 사용하여 옵션을 비활성화하고 나머지 모듈에 대해이 옵션을 계속 사용할 수 있습니다. Microsoft 기술 자료에 C1001에 대한 자세한 정보가 있습니다. http://support.microsoft.com/default.aspx?scid=kb;en-us;134650을 참조하십시오.