반응형
컴파일(Compile)
컴파일러가 소스코드를 한꺼번에 기계어로 변환시켜주는 과정.
컴파일은 이전 글에서 설명했듯 컴파일 언어(C,C++,JAVA)가 실행(즉, 런타임)되기 위해서는 반드시 컴파일 과정을 거쳐야 한다. 당연하게 인터프리터 언어들은 컴파일을 하지 않는다.(하지만 속도는 컴파일 언어보다 느리다.)
런타임(Runtime)
컴파일을 마친 컴퓨터 프로그램이 동작되고 있는 그 환경 자체 혹은 동작되는 동안의 시간.
많이 드는 예시로 JavaScript가 웹 브라우저에서 작동하면 런타임 환경은 웹 브라우저이고 Nodejs에서 작동한다면 런타임 환경은 Nodejs가 된다.
각각의 과정 간 에러가 발생할 수 있는데
컴파일 에러는 프로그램 실행 과정 중에 에러가 발생하는 경우이고
런타임 에러는 프로그램 실행 중에 발생하는 에러라고 생각하자.
컴파일 에러 | 런타임 에러 |
Syntax Error (;를 빠뜨린 경우,선언되지 않은 변수를 사용하는 경우) Type 체크 에러 파일 참조 오류 |
0 나누기 오류 NULL 참조 오류(배열) 메모리 부족 오류(segmentation fault) 무한 루프에 빠지는 경우 |
반응형
'기타' 카테고리의 다른 글
[JS] 콜백함수 설명(사용법이 아닌, definition 탐구) (0) | 2024.03.17 |
---|---|
'ssh' is not recognized as an internal or external command, operable program or batch file. 해결법 (0) | 2024.03.05 |
프로그램 메모리 세그먼트 (0) | 2022.09.17 |
프로그램을 누가,왜 번역하는가?(프로그래밍 언어의 역사) (0) | 2022.09.08 |