代码如下:

    #include "C:\Tcl\include\tcl.h"
    
    #pragma comment(lib,"C:\\Tcl\\lib\\tcl84")
    
    
    /**//*******自己的函数*******/
    void MyFunc1()
    {
        printf("My function 1\n");
    }
    
    void MyFunc2()
    {
        printf("My function 2\n");
    }
    
    /**//*******在这些函数里调用我们自己的函数*******/
    int TclCmdProc1(ClientData clientData, Tcl_Interp *interp, int objc, char* CONST * objv)
    {
        MyFunc1();
        return TCL_OK;
    }
    
    int TclCmdProc2(ClientData clientData, Tcl_Interp *interp, int objc, char* CONST * objv)
    {
        MyFunc2();
        return TCL_OK;
    }
    
    //这里将命令与函数绑定
    int Test_Init(Tcl_Interp *interp)
    {
        //将第一个函数与命令"f1"绑定
        Tcl_CreateCommand(interp,"f1",(Tcl_CmdProc*)TclCmdProc1,(ClientData)NULL,(Tcl_CmdDeleteProc *) NULL);
        //将第二个函数与命令"f2"绑定
        Tcl_CreateCommand(interp,"f2",(Tcl_CmdProc*)TclCmdProc2,(ClientData)NULL,(Tcl_CmdDeleteProc *) NULL);
    
        return TCL_OK;
    }
    
    //main
    int main(int argc, char *argv[])
    {
        //启动TCL命令行
        Tcl_Main(argc, argv, Test_Init);
    
        return 0;
    }

     

     

    生成DLL后在 TCL中load
    TCL控制台,输入输出如下:
    % f1
    My function 1
    % f2
    My function 2
    % f1;f2
    My function 1
    My function 2

     

    via:http://www.cppblog.com/playerken/archive/2009/11/25/82823.html