문제

CLI를 사용하여 구현 된 .NET- 호환 CLR이 있는지 궁금합니다. (공통 언어 인프라), 예를 들어 .NET 자체를 사용하거나 최소한 하나를 구축하는 데 도움이되는 리소스가있는 경우.

기본적으로 어셈블리를 메모리 스트림으로로드하고 바이트 코드를 구문 분석하고 유형을 구성하며 지침을 실행하는 .NET 프로그램과 같은 것입니다. 선택적으로, 반사시를 사용하여 표준 IL과 JIT와 컴파일 할 수 있습니다.

나는 원하지 않는다 엮다 원래 CLR에서 실행할 .NET 언어. 나는 그것이 CLR을 원한다 .NET 언어로 (일반적으로 관리되지 않는 C ++ 또는 C 아님) 그리고 실행 실. 제대로 완료되면 스스로 실행할 수 있어야합니다.

이런 종류의 일에 mono.cecil을 사용하는 것에 대한 생각이 있습니까?

도움이 되었습니까?

해결책

나는 현재 자체 호스팅 인 독립형 .NET VM이 있다고 생각하지 않지만 코스모스 그리고 샤포 .NET Runtimes는 C#로 작성되었습니다.

런타임 코드 중 일부를 독립형 런타임을 추가로 재사용 할 수 있습니다. Cosmos는 부팅시 사용자 정의 응용 프로그램을 호스팅하는 데 사용할 수 있습니다. http://www.codeproject.com/kb/system/cosmosintro.aspx

다른 팁

당신은 확인해야합니다 IKVM.NET 프로젝트. .NET로 작성된 Java 가상 머신이 포함되어 있습니다.

http://www.ikvm.net/

나는 그것이 CLR 위에 실행되는 실제 CLR이 아니라는 것을 알고 있지만, 내가 아는 가장 가까운 것은 당신이 원하는 것을하는 것입니다.

나는 하나를 알지 못하지만 JVM에서 실행되는 아이디어 FRM JVM은 도움이 될 것입니다.

"runs cil"의 정의를 기꺼이 확장하려면 "Jit-Cil Cil to Native 코드"로 관리 운영 체제 얼라이언스 - 관리되는 운영 체제 커널을 작성하는 데 필요한 런타임 조각을 만들기 위해 노력하는 사람들 (나 자신 포함).

현재는 약간 남아 있지만 JIT 컴파일 및 간단한 메소드를 실행할 수 있습니다 (Win32 만-현재 P/호출을 사용하여 기본 코드 버퍼를 생성합니다).

기술을 결합하여 원칙적으로 가능합니다.

  • Jikes RVM Java로 작성된 Java Virtual Machine 구현입니다.
  • ikvm.net, .NET에서 Java 플랫폼 구현.

취하는 것도 가능할 수도 있습니다 단핵증, LLVM 바이트 코드로 컴파일하고 바이트 코드를 사용하여 JavaScript로 컴파일합니다. emscripten, 다양한 통역사를 사용하여 .NET에서 JavaScript를 실행하십시오.

System.reflection.emit 네임 스페이스, 특히 Ilgenerator 클래스를보십시오.

당신은 즉시 IL을 방출 할 수 있습니다.

http://msdn.microsoft.com/en-us/library/system.reflection.emit.ilgenerator_members.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top