2010-12-18 4 views
0

사용자 지정 TCL 인터프리터를 TclDevKit의 tclapp 접두사 파일로 사용하려고합니다.사용자 지정 TclDevKit 접두사 파일을 작성하는 방법은 무엇입니까?

// file main.cpp 
#include <tcl.h> 

int 
Tcl_AppInit(Tcl_Interp* interp)      
{ 
    if (Tcl_Init(interp) == TCL_ERROR) {   
     return TCL_ERROR;        
    }    
    if (Tcl_Eval(interp, "puts \"this is my interpreter\"") == TCL_ERROR) { 
     return TCL_ERROR;       
    } 
    return TCL_OK; 
} 

int 
main(int argc, char** argv)       
{ 
    Tcl_Main(argc, argv, &Tcl_AppInit); 
    return 0; 
} 

내가 다음 명령을 main.cpp를 구축 :

나는 다음과 같은 파일에서 구축 된 TCL 해석기가

g++ -Wl,-R/usr/local/lib -L/usr/local/lib -ltcl main.cpp -o myinterp 

및 통역 myinterp를 얻을.

어떻게 main.cpp을 수정해야 위의 g++ 명령은 TclDevKit의 tclappmyinterp-prefix 등의 옵션을 통과 할 수 있도록?

답변

0

이것은 쉽지 않습니다. 접두어 파일은 일반적인 실행 파일이 아니라, 전체 패키지 Tcl 해석기 을 포함하여을 포함하는 가상 파일 시스템입니다. 일반적으로 외부 파일에있는 모든 추가 비트와 조각을 포함합니다 (예 : 인코딩, 스크립트, 일부 시스템의 시간대 정보, 및 바이너리). 이것은 모두 sdx 도구를 사용하여 "tclkit"이라는 엔티티로 패키지되며 저장 한 바이트 코드 파일 로더 패키지와 같이 많은 것들을 포함해야합니다. 즉, 꽤 복잡한 빌드입니다.

왜 필요한가요? C++이 정말로 필요합니까? Tcl의 load 명령이 사용할 수있는 공유 라이브러리에 있도록 코드를 다시 작성할 수 있습니까?

+0

그리고 ActiveState에 지원을 요청하셨습니까? –

관련 문제