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