저는 런타임 클래스 작성을 지원하는 프레임 워크/언어 목록을 작성하려고합니다. 예를 들어 .NET에서는 System.Reflection.Emit
라이브러리를 사용하여 런타임에 새 클래스를 내보낼 수 있습니다. 이 프레임 워크를 지원하는 다른 프레임 워크/언어를 언급 할 수 있다면 정말 도움이 될 것입니다.런타임 클래스 작성을 지원하는 프레임 워크/언어는 무엇입니까?
감사합니다 :) 파이썬, 루비, 같은
저는 런타임 클래스 작성을 지원하는 프레임 워크/언어 목록을 작성하려고합니다. 예를 들어 .NET에서는 System.Reflection.Emit
라이브러리를 사용하여 런타임에 새 클래스를 내보낼 수 있습니다. 이 프레임 워크를 지원하는 다른 프레임 워크/언어를 언급 할 수 있다면 정말 도움이 될 것입니다.런타임 클래스 작성을 지원하는 프레임 워크/언어는 무엇입니까?
감사합니다 :) 파이썬, 루비, 같은
동적 언어 ...
오브젝티브 C는 당신이 어떤 언어 캔 무엇을 의미하는지에 따라 (objc_allocateClassPair)
을 지원합니다.
예를 들어, C++을 사용할 수 있습니다. 첫눈에, 이것은 어리 석다 - C++는 정적으로 타이핑 된 컴파일 된 언어이다. 그래서 당신이하는 일은 프로젝트에 LLVM 라이브러리를 포함시키는 것입니다. 컴파일러 백엔드이므로 LLVM JIT를 사용하여 클래스를 설명하고 컴파일하고 실행합니다. 응용 프로그램의 모든 런타임에이 클래스를 사용할 수 있습니다.
IIRC gcc 백엔드는 C로 작성되므로 코드를 이해하고 싶다면 원칙적으로 클래스가없는 언어를 사용하여 런타임에 클래스를 정의 할 수 있습니다.
어느 쪽이든 당신의 임무 중 하나는 클래스가 정확히 무엇인지 정의하는 것입니다. 컴파일러 백엔드에는 내장되어 있지 않으므로 다양한 유형 시스템을 사용하여 다양한 프론트 엔드 언어를 지원해야합니다.
물론이 방법을 권장하지 않습니다. 단지 가능하다는 것을 지적하십시오.
나는 명백한 지원을 의미했지만 이것은 흥미 롭습니다. 감사합니다 :) – Alix
JavaScript 함수에는 객체가 있습니다.
function Foo(x, y, z)
{
this.X = x;
this.Y = y;
this.Z = z; var g = function()
}
은이 같은 새로운 개체를 만들 수 있습니다 :
var obj = new Foo(a,b,c);
을하지만 자바 스크립트에서 런타임에 함수를 만들 수 있습니다 따라서 같은 함수 정의를 제공.
function MakeFoo(x, y, z, f) //where parameter f is a function
{
var g = function()
{
this.X = x;
this.Y = y;
this.Z = z;
this.DoSomething = f;
}
return g;
}
var my_class = MakeFoo(a, b, c, function() { /* Do Stuff */ });
var obj = new my_class();
obj.DoSomething();
재미있는, 감사합니다 :) – Alix
감사합니다. :). 그리고 참고에 감사드립니다. – Alix