문제

저는 .NET을 대상으로 하는 컴파일러를 구축 중이고 이전에 CIL을 직접 생성했지만 DLR 트리를 생성하면 작업이 훨씬 더 쉬워집니다.저는 런타임 함수 생성 및 덕타이핑과 같은 몇 가지 동적 기능을 지원하고 있지만 대부분의 코드는 완전히 정적입니다.

이제 설명이 끝났으므로 다음과 같은 질문이 있습니다.

  • MSDN 블로그의 작은 예제 외에 정적 컴파일에 DLR이 사용되었습니까?
  • 그렇다면 어떤 성과를 거두었는가?
  • 그렇지 않다면 근본적으로 이를 방지하는 것이 있습니까?
  • DLR을 사용하거나 IL을 직접 내보내는 것보다 더 나은 코드 생성 메커니즘이 있습니까?

이에 대한 통찰력이나 블로그/코드/대화에 대한 참조를 주시면 매우 감사하겠습니다.

도움이 되었습니까?

해결책

아직까지는 이런 방식으로 DLR을 사용하는 사람을 본 적이 없습니다. 하지만 이는 확실히 의도된 사용 사례 중 하나입니다.고려해야 할 한 가지 흥미로운 점은 DLR의 식 트리가 LINQ 식 트리와 병합되었으므로 아직 발표되지 않은 Visual Studio의 일부 향후 버전에서 LINQ용으로 생성되는 IL이 DLR 코드를 사용한다는 것입니다.

DLR을 오픈 소스로 공개하는 것의 좋은 점은 회사 외부의 사람들이 DLR을 사용하여 어떤 종류의 흥미로운 일을 하고 있는지 전혀 알 수 없다는 것입니다. :)

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