2010-02-27 2 views
2

거기에는 많은 JIT 구현이 있으므로 모든 JIT는 원시 코드를 방출합니다. 그렇다면 왜 네이티브 코드를 네이티브 실행 파일에 저장하기 위해 JIT2EXE와 같은 도구를 만들지 않았습니까?JIT를 EXE로 변환 하시겠습니까?

+0

어떤 종류의? 그것은 매우 일반적이며 모호합니다. – skaffman

답변

5

.NET의 내 영역에서 .NET 실행 파일이 런타임에 미리 jitted되어로드 시간이 빨라지는 것과 관련하여 어떤 언어에 대해 명확하게 지정하지 않았는지 여부는 모호합니다. 이 코드는 .NET IL 코드를 가져 와서 프로세서에서 이해할 수있는 바이너리 프로세스로 변환하는 NGEN이라는 프로세스로 원시 코드로 생성 될 수 있습니다. 일반적으로 NGEN 코드는 'C : \ Windows \ Assembly \ NativeImages_ {version}'폴더의 폴더에 저장됩니다. 여기서 버전은 .NET Framework 버전을 나타냅니다. 제프리 리히터 (Jeffrey Richter)의 CodeGuru을 NGEN과 함께 사용하고 언제 어디에서 사용할 수 있는지, 언제 사용할 수 있는지 살펴보십시오. Daniel Pistelli가 작성한 이진 코드와의 통계/비교 및 ​​here에 대한이 기사를 보시려면 Codeproject을 방문하십시오. 당신이 당신의 질문에 진술 무엇

1

실제로 Java (또는 다른 해석 언어) - 원시 컴파일러가 많이 있습니다. gcj에 대해 들어 본 적이 있습니까?

http://gcc.gnu.org/java/

또한 네이티브 코드에 몇 가지 중요한 부분을 컴파일하고 공간을 절약하기 위해 바이트 코드로 다른 사람을 계속 혼합 컴파일러가 있습니다. Harissa는 10 년 전에 이것을했습니다.

http://www.usenix.org/publications/library/proceedings/coots97/full_papers/muller/muller_html/usenix.html

자바 코드

먼저 다음의 최적화에 이용하기 위해 일정한 C 컴파일러에 전달 C 코드로 컴파일된다. 이러한 코드는 매우 빠르다.

당연히, 시간 컴파일은 바이트 코드 형식의 이점 (특히 이식성과 메모리 부족)을 취소하므로 실제 응용 프로그램은 오히려 드문.

+0

JRE 풋 프린트를 고려하면 여전히 바이트 코드가 있기 때문에 이식성이 거의 손상되지 않으며 실제로 전체 풋 프린트가 다운됩니다 : http://www.excelsior-usa.com/java-download-size.html –

관련 문제