런타임과 컴파일 시간의 차이

작가: John Webb
창조 날짜: 17 팔월 2021
업데이트 날짜: 12 할 수있다 2024
Anonim
Week7   컴파일 타임과 런타임의 차이
동영상: Week7 컴파일 타임과 런타임의 차이

콘텐츠

컴퓨터 프로그램의 작동 방식은 프로그래머의 작업을 신뢰하는 일반적인 사용자에게는 미스터리입니다. 프로그래머는 다른 개념 외에도 컴퓨터가 두 실행 단계 (컴파일 시간 및 실행 시간)에서 명령을 수신 할 것으로 예상하는 방식을 이해해야합니다.

빌드 시간

프로그램 실행의 첫 번째 단계 인 컴파일 시간은 사람이 이해할 수있는 언어 또는 "소스 코드"를 컴퓨터가 이해하는 언어 또는 "머신 코드"로 번역하는 것입니다. 소스 코드에는 사용자가 인식하는 단어, 십진수 형식의 숫자 및 지침의 흐름을 더 쉽게 이해할 수 있도록 구성된 구조가 포함되어 있습니다. 새 프로그램이 실행 파일이면 컴파일 시간 단계가 완료됩니다.


실행 시간

컴퓨터는 컴파일 타임에 생성 된 명령을 사용하여 프로그램을 실행합니다. 런타임 동안 컴퓨터는 프로그래머가 통합 한 작업을 수행하기 위해 소스 코드의 번역을 읽습니다. 누군가 프로그램을 실행할 때마다 런타임에 실행합니다.

컴파일 시간은 소스 코드를 실행 파일로 변환하기 위해 한 번만 넘어갑니다. 프로그램이 변경되지 않는 한 다시 컴파일하지 않고 필요한만큼 호출 할 수 있습니다. 대부분의 사용자는 런타임 만 사용합니다.


컴파일 시간 오류

프로그램 실행의 두 단계에서 오류가 발생할 수 있습니다. 소스 코드에 컴파일 시간 오류 또는 구문 오류가 있습니다. 예를 들어 철자가 틀린 명령, 작업 순서의 문제, 호환되지 않는 변수 유형 조합, 필요한 요소 누락 등이 있습니다. 프로그래머는 논리가 아닌 구문이기 때문에 컴파일 시간 오류를 쉽게 감지 할 수 있습니다. 컴파일러는 일반적으로 컴파일 타임 오류를 발견하고이를 해결하기위한 팁을 설명하거나 제공합니다. 컴파일러가 코드에서 실행 파일을 생성하는 경우 프로그램에는 컴파일 시간 오류가 없습니다.

치명적인 런타임 오류

런타임 오류로 인해 프로그램이 중단되고 조기에 종료 될 수 있습니다. 이러한 오류의 예로는 제한된 메모리 액세스 및 0으로 나누기가 있습니다. "x / y"문은 구문 상 정확하지만 "y"에 런타임에 0 값이 포함되어 있으면 프로그램이 실패합니다. 프로그래머는 일반적으로 특정 조건에서 발생하기 때문에 런타임 오류를 찾기가 어려울 수 있습니다.


런타임 논리적 오류

논리적 오류로 인해 프로그램이 실패하지는 않지만 프로그래머가 원하지 않는 방식으로 작동합니다. 사용자가 원하는 옵션 번호를 입력해야하는 옵션 메뉴가있는 프로그램을 고려하십시오. 사용자가 문자를 입력하면 프로그램은 숫자를 기다리는 숫자 값으로 변환하여 사용자에게 잘못된 옵션을 입력했음을 알리는 대신 아무 문제가없는 것처럼 보이게 할 수 있습니다.