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