컴파일 오류

Compilation error

컴파일 오류컴파일러가 컴퓨터 프로그램 소스 코드의 오류로 인해 컴파일러가 컴파일러 자체의 오류로 인해 컴파일러가 컴퓨터 프로그램 소스 코드의 일부를 컴파일하지 못하는 상태를 말한다.컴파일 오류 메시지는 종종 프로그래머들이 소스 코드를 디버깅하는 것을 돕는다.편찬과 해석의 정의가 모호할 수 있지만, 일반적으로 편찬 오류는 동적 편찬이 아닌 정적 편찬만을 가리킨다.그러나 많은 프로그래머와 소스가 런타임 오류로 식별할 수 있지만 동적 컴파일에는 기술적으로 여전히 컴파일 오류가 있을 수 있다.[citation needed]Javascript V8 엔진과 같은 대부분의 Just-in-Time 컴파일러런타임에 컴파일러를 확인하기 때문에 컴파일 오류를 구문 오류로 모호하게 언급한다.[1][2]

일반적인 C++ 컴파일 오류

  • 미신고 식별자, 예:

doy.cpp: In function `int main()': doy.cpp:25: `DayOfYear' undeclared (first use this function)[3]

이것은 "DayOf Year" 변수가 선언되기 전에 사용되려고 한다는 것을 의미한다.

  • 선언되지 않은 공통 함수(예:

xyz.cpp: In function `int main()': xyz.cpp:6: `cout' undeclared (first use this function)[3]

이는 프로그래머가 아이오스트림을 포함시키는 것을 잊었을 가능성이 높다는 것을 의미한다.

  • 구문 분석 오류, 예:

somefile.cpp:24: parse error before `something'[4]

이는 이전 진술의 마지막에 세미콜론이 빠진 것을 의미할 수 있다.

내부 컴파일러 오류

내부 컴파일러 오류(일반적으로 ICE로 약칭)는 잘못된 소스 코드 때문이 아니라 컴파일러 자체의 버그로 인해 발생하는 오류다.때로는 오류로 표시된 선 주위의 소스 코드를 작고 대수롭지 않게 변경하여 작업할 수 있지만(그런 선이 전혀 표시되지 않는 경우),[5][better source needed] 때로는 특정 구조를 피하기 위해 코드 리팩터링과 같은 더 큰 변경이 이루어져야 한다.다른 컴파일러 또는 다른 버전의 컴파일러를 사용하면 문제를 해결할 수 있으며 경우에 따라 허용 가능한 해결책이 될 수 있다.내부 컴파일러 오류에 도달하면 많은 컴파일러가 표준 오류를 출력하지 않고, 대신 내부 컴파일러 오류에만 제공되는 추가 파일이 첨부된 단축 버전을 출력한다.이는 오류를 기록할 때 프로그램이 중단되지 않도록 하기 위한 것이며, 이는 오류를 거의 해결할 수 없게 만들 것이다.내부 컴파일러 오류를 위해 첨부된 추가 파일에는 일반적으로 다음과 같이 저장되는 특수 형식이 있다..dump자바를 위한이러한 형식은 일반적으로 일반 파일보다 분석하기가 더 어렵지만, 여전히 충돌을 일으키는 버그를 해결하는 데 매우 유용한 정보를 가질 수 있다.[6]

내부 컴파일러 오류의 예:

somefile.c:1001: 내부 컴파일러 오류: 분할 결함 해당하는 경우 사전 처리된 소스와 함께 전체 버그 보고서를 제출하십시오.자세한 내용은 <http://bugs.gentoo.org/>을 참조하십시오.

참조

  1. ^ "Errors Node.js v7.9.0 Documentation". nodejs.org. Retrieved 2017-04-14.
  2. ^ "SyntaxError". Mozilla Developer Network. Retrieved 2017-04-14.
  3. ^ a b "Common C++ Compiler and Linker Errors". Archived from the original on 2008-02-16. Retrieved 2008-02-12.
  4. ^ "Compiler, Linker and Run-Time Errors".
  5. ^ Cunningham, Ward (2010-03-18). "Compiler Bug". WikiWikiWeb. Retrieved 2017-04-14.
  6. ^ జగదేశ్. "Analyzing a JVM Crash". Retrieved 2017-04-15.