2012-01-08 6 views
3

컨텍스트 : Windows7, 선택적으로 MinGWTk에 대한 래퍼를 작성하려면 어떻게해야합니까?

Lhogho에 대한 Tk 인터페이스를 작성하려고합니다. Tkinter 소스를 읽는 것보다 짧은, 래퍼 (wrapper)를 어떻게 작성합니까? 그것은 C++, Perl, Python, Tcl 및 다른 사람들을 위해 만들어진 것입니다.

+0

[SWIG] (http://www.swig.org/)는 자주 언급됩니다. – Charles

+1

비록 다른 문제를 다루기 때문에 SWIG는이 문제에 도움이되지 않을 것입니다. 그러나 Logogho에 대한 swig 지원은 분명히 좋은 목표입니다. – schlenk

+0

@schlenk : 그렇습니다. 목록에 추가해야합니다. – bugmagnet

답변

4

매핑이 얼마나 가까이에 있는지에 따라 다릅니다.

사소한 방법은 Tcl의 인터프리터를 포함하고 단지 Tcl_Eval() 또는 문자열로 우측은 Tcl 코드와 그 가족의 다른 기능 중 하나는, 당신은 C 라이브러리 또는 DLL을 링크 할 때해야 할 아주 쉽게 이잖아 호출하는 것입니다.

일단 인터페이스를 만들면 인터페이스를 자연스럽게 만들 수 있습니다. 예를 들어 언어 데이터 구조에서 Tcl/Tk 내부 (Tcl_Obj *) 로의 매핑을 주로 성능을 위해 제공하거나 적절한 래퍼를 추가하여 귀하의 언어에보다 자연스러운 바인딩. 주요 문제는 대개 언어로 이벤트 루프가 제대로 작동하도록하는 것입니다.

예를 들어 perls tcl :: tk 모듈 또는 pythons Tkinter를 살펴보십시오.

참조 : http://wiki.tcl.tk/13208

그것을 할 수있는 다른 방법이 전체의 Tcl 인터프리터를 포함하지하려고 PerlTk에 의해 이루어졌다. http://wiki.tcl.tk/2074

: TK에가

은 Tcl/Tk를하고 토론을 삽입의 예

가에서 찾을 수 있습니다 기본 바인딩 스크립트 등처럼되지 성능 중요한 부품은 Tcl 코드의 상당한 양을 사용하기 때문에 작동하지만, 할 일이 많이 어렵습니다
+0

흠 ... wxWidgets 또는 IUP와 같은 다른 GUI 킷을 생각해야 할 수도 있습니다. – bugmagnet

+0

C 및 Tcl 코드 대신 C 코드를 더 쉽게 작성할 수 있습니다. 하지만 그렇습니다. 다른 툴킷도 꼭보아야합니다. Windows 만 대상으로하는 경우 기본 Windows 옵션을 살펴 봐야합니다. – schlenk

+0

크로스 플랫폼이어야합니다. Lhogho는 Win과 Lin을합니다. 누군가는 언젠가 맥을 그렇게하도록 설득 할 수도있다. – bugmagnet

관련 문제