Java vs C/C++ 실행환경 및 실행과정 비교

Java C/C++
링크 과정 없이 컴파일러가 바로 바이트 코드 생성 컴파일러가 중간 단계인 오브젝트 코드를 생성한 후 링커가 필요한 라이브러리들을 링크하여 최종 실행 가능한 파일 생성
바이트 코드는 JVM에서만 실행 가능 정적 라이브러리의 경우 라이브러리를 실행 파일에 포함시키므로 실행 파일 크기가 커짐
RunTime에 필요한 클래스들이 JVM에 의해 링크되며 클래스 로더가 동적으로 필요한 클래스를 로딩 동적 라이브러리의 경우 RunTime에 링크
ClassLoader 객체를 이용하여 프로그래머가 직접 클래스 로딩 가능 오브젝트 코드 및 실행 파일은 플랫폼에 따라 다르므로 플랫폼이 바뀌면 컴파일 및 링크 새로 해야 함

 

+ Recent posts