代码如下:
#include "C:Tclincludetcl.h"#pragma comment(lib,"C:\Tcl\lib\tcl84")/**//*******自己的函数*******/void MyFunc1(){ printf("My function 1n");}void MyFunc2(){ printf("My function 2n");}/**//*******在这些函数里调用我们自己的函数*******/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;}//mainint 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