컨텍스트 : Windows7, 선택적으로 MinGWTk에 대한 래퍼를 작성하려면 어떻게해야합니까?
Lhogho에 대한 Tk 인터페이스를 작성하려고합니다. Tkinter 소스를 읽는 것보다 짧은, 래퍼 (wrapper)를 어떻게 작성합니까? 그것은 C++, Perl, Python, Tcl 및 다른 사람들을 위해 만들어진 것입니다.
컨텍스트 : Windows7, 선택적으로 MinGWTk에 대한 래퍼를 작성하려면 어떻게해야합니까?
Lhogho에 대한 Tk 인터페이스를 작성하려고합니다. Tkinter 소스를 읽는 것보다 짧은, 래퍼 (wrapper)를 어떻게 작성합니까? 그것은 C++, Perl, Python, Tcl 및 다른 사람들을 위해 만들어진 것입니다.
매핑이 얼마나 가까이에 있는지에 따라 다릅니다.
사소한 방법은 Tcl의 인터프리터를 포함하고 단지 Tcl_Eval()
또는 문자열로 우측은 Tcl 코드와 그 가족의 다른 기능 중 하나는, 당신은 C 라이브러리 또는 DLL을 링크 할 때해야 할 아주 쉽게 이잖아 호출하는 것입니다.
일단 인터페이스를 만들면 인터페이스를 자연스럽게 만들 수 있습니다. 예를 들어 언어 데이터 구조에서 Tcl/Tk 내부 (Tcl_Obj *) 로의 매핑을 주로 성능을 위해 제공하거나 적절한 래퍼를 추가하여 귀하의 언어에보다 자연스러운 바인딩. 주요 문제는 대개 언어로 이벤트 루프가 제대로 작동하도록하는 것입니다.
예를 들어 perls tcl :: tk 모듈 또는 pythons Tkinter를 살펴보십시오.
그것을 할 수있는 다른 방법이 전체의 Tcl 인터프리터를 포함하지하려고 PerlTk에 의해 이루어졌다. http://wiki.tcl.tk/2074
: TK에가은 Tcl/Tk를하고 토론을 삽입의 예
가에서 찾을 수 있습니다 기본 바인딩 스크립트 등처럼되지 성능 중요한 부품은 Tcl 코드의 상당한 양을 사용하기 때문에 작동하지만, 할 일이 많이 어렵습니다
[SWIG] (http://www.swig.org/)는 자주 언급됩니다. – Charles
비록 다른 문제를 다루기 때문에 SWIG는이 문제에 도움이되지 않을 것입니다. 그러나 Logogho에 대한 swig 지원은 분명히 좋은 목표입니다. – schlenk
@schlenk : 그렇습니다. 목록에 추가해야합니다. – bugmagnet