• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

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

23.07.05 20:09 작성 23.07.05 20:18 수정 조회수 331

0

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

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

 

답변 1

답변을 작성해보세요.

2

안녕하세요 :)

 

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

 

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

채널톡 아이콘