인프런 커뮤니티 질문&답변

최성민님의 프로필 이미지
최성민

작성한 질문수

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

[추가] 소스 코드가 명령어가 되기까지

부품관점에서 C언어 컴파일 과정을 이해하고 싶습니다.

해결된 질문

작성

·

374

·

수정됨

0

  1. 한글.exe처럼 exe파일들은 하드디스크에 기계어로 저장되어 있는 건가요?

  2. 자바로 작성된 소스코드를 실행할 때, 이 소스코드는 기계어로 변환하여 메모리에 적재되는 건가요?

 

답변 1

2

강민철님의 프로필 이미지
강민철
지식공유자

안녕하세요 :)

 

1, 저장이 되어 있을 때에는 그렇습니다. 다만 강의와 책에서 언급되었듯이 모든 프로그램은 실행되려면 메인 메모리로 올라와야 합니다. (하드디스크에서 곧바로 CPU로 실행되는 것이 아니라는 의미입니다)

 

  1. 자바의 경우 조금 특수한데요, 자바는 컴파일과 인터프리트 언어의 특성을 모두 갖춘 언어라고 볼 수 있습니다. 메모리에 적재된 건 바로 실행가능한 명령어가 아닌 class 파일 (javac로 class 파일을 만들 수 있습니다)입니다. 이는 메모리에 적재된 또 다른 '자바를 실행하기 위한 프로그램'인 JVM에 의해 명령어로 변환하여 실행됩니다. 요컨대 자바 파일을 실행하는 주체는 JVM인 셈입니다.

최성민님의 프로필 이미지
최성민

작성한 질문수

질문하기