컴파일러(3)
-
[자바] JDK & JRE & JVM
자바 개발을 위해 필수적인 세 가지 요소에 대해 요약한 글이다. JDK는 자바 기반 소프트웨어를 개발하기 위한 도구들로 이뤄진 패키지 JRE는 자바 코드를 실행하기 위한 도구들로 구성된 패키지 JVM은 라이브 자바 프로그램 실행을 담당하는 실행 소프트웨어 시스템 JDK 자바 컴파일러(javac) 자바 런타임 환경(JRE) JRE 자바 클래스 라이브러리(Java Class Libraries) 자바 클래스 로더(Java Class Loader) 자바 가상 머신(Java Virual Machine) 런타임환경 소프트웨어 프로그램을 실행하기 위해서는 실행할 환경이 필요하다. 런타임 환경은 프로그램 실행을 위해 클래스 파일을 로드하고 메모리 및 기타 시스템 리소스에 대한 액세스를 확보한다. JRE는 자바코드를 받..
2022.01.11 -
[컴퓨터 기초] 런타임(Run Time)과 컴파일타임(Compile Time)
컴파일타임(Compile Time) 컴파일 타임(Compile Time) 컴파일이란 프로그램을 생성하기 위해 개발자가 소스코드를 작성하고 이를 컴퓨터가 읽을 수 있는 기계어로 변환해주는 것을 컴파일이라하며, 이렇게 사람이 작성한 소스코드가 컴퓨터가 인식할 수 있는 코드로 변환되어 실행 가능한 프로그램이 되는 과정을 컴파일 타임이라고 한다. 개발자들이 자주 사용하는 이클립스, 비쥬얼스튜디오, 인텔리제이 같은 통합개발환경(IDE)를 컴파일러라고 하며 이를 사용하여 소스코드를 작성하면 컴퓨터가 인식할 수 있는 기계어로 컴파일 해준다. 알기 쉽게 예를 들어보자면 파파고나 구글번역기에 한글 문장을 기입하고 아랍어나 스페인어로 해석 되는 과정과 비슷한 느낌이라고 보면 된다. 여기서 번역기는 컴파일러 역할을 하고 한..
2021.11.16 -
C언어 컴파일링
지금까지 내가 사용했던 프로그래밍 언어들은 IDE를 통해서 소스코드를 적고 Run하면 출력되었다. 하지만 C언어의 컴파일링 하는 과정은 좀 더 복잡하다. 컴파일 과정은 개발자가 코딩한 소스코드를 컴파일러를 통해 기계어로 컴파일하는 일련의 과정이다. 파이썬이나, 자바 같은 고수준의 언어를 사용할 경우 소스코드를 코딩하고 RUN하면 코드에 오류가 없는 한, 바로 출력이 된다. 하지만 이놈의 C언어는 "clang"을 통해 컴파일을 따로 해줘야하는 번거로움이 있다. 그 유명한 "hello world"를 출력하려면 clang을 통해 소스코드를 컴파일해야 된다. 컴파일하면 기계어로 된 파일을 만들어주는데 이름을 따로 설정해주지 않으면 a.out이라는 이름으로 만들어지게 된다. 이제 이 기계어를 불러내면 소스코드에 ..
2021.02.08