해피해킹
102
2017-09-13 20:53:18.0
4
119

컴파일에 대해 질문드립니다 선배님들!


최근에 대학교에서 운영체제 관련 수업을 들으면서 궁금한 점 몇가지가 생겼습니다.


우선 컴파일 과정이 각 언어(Java나 C나 Python 등)마다 다르냐입니다.


제가 컴파일 과정에 대해서 알기로는 원시코드가 컴파일러를 거치면 어셈블리어가 되고 또 여기서 어셈블러를 거치게 되면 기계어가 되어 링커를 통해 최종적으로 실행파일이 생성되어 메모리에 올라갈 수 있는 것으로 알고 있는데 학교에서는 컴파일러가 두번 소스코드를 훑고 최종적으로 기계어로 만들어 준다고 하더라구요

이게 실제로 최근에는 컴파일러에 어셈블러나 링커가 다 통합되어 있는건가요? 

0
0
  • 답변 4

  • 123asf
    2017-09-13 21:31:10.0

    one pass인지 two pass인지 하는 것은 원시코드가 어셈블리어로 변환되는 과정 내에서 일어나는 내용입니다.

    큰 범주에서 "컴파일 과정에 대해서 알기로는 원시코드가 컴파일러를 거치면 어셈블리어가 되고 또 여기서 어셈블러를 거치게 되면 기계어가 되어 링커를 통해 최종적으로 실행파일이 생성"는 변함이 없습니다.

    1
  • 해피해킹
    102
    2017-09-13 22:32:24.0

    그럼 선배님 한가지만 더 여쭙겠습니다!

    이클립스에서 자바로 코드를 짠 후에 실행을 시키게 되면

    자동으로 컴파일러와 어셈블러가 순서대로 실행이 되는건가요?

    통합개발툴에 어셈블러라는것이 포함되어 있게 되는건가요?

    0
  • 123asf
    2017-09-13 22:52:39.0

    해피해킹 자바는 말씀하신 컴파일 방식과는 조금 다릅니다. 직접 검색해보시는 편이 나을 것 같네요.

    0
  • 해피해킹
    102
    2017-09-13 22:55:12.0

    #123asf 감사합니다!


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.