1

나는 HipHopHaxe과 같은 소스 트랜스포머에 대해 생각 해왔다. 각각의 웹 사이트에서이 도구들이 소스 언어를 타겟 언어로 변환 한 다음 대상 언어의 컴파일러를 사용하여 최종 실행 파일을 생성합니다. 내가 혼란스러워하는 부분은 소스 언어가 메모리 관리 언어 (PHP, Haxe lang)이고 대상 언어가 비 메모리 관리 언어 (C/C++)인지 여부를이 도구들이 다루는 방식이다. 나는 이것을 처리하기 위해 컴파일시에 Mono이 VM을 추가한다는 것을 안다. HipHop 및 Haxe와 같은 도구는 무엇을합니까? 이 주제와 관련된 프로그래밍 언어/컴파일러 관련 자료는 어디에서 찾을 수 있습니까?소스 트랜스포머는 어떻게 작동합니까?

감사합니다.

답변

3

Haxe는 가비지 콜렉션이 필요하며 변환기 일뿐만 아니라 대상 언어에 필요한 모든 것을 추가합니다. C++ 타겟 f.e. Reflection, Garbage Collection 및 다른 종류의 호환성 클래스를 C++ 런타임에 추가합니다. 따라서 모든 플랫폼에서 많은 기능을 사용할 수 있습니다.

런타임 파일 here을 살펴볼 수 있습니다.

생성 된 C++ 코드를 시험해 보는 것이 가장 좋습니다.

관련 문제