代码如下:
#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