1、要包含tcl.h头文件。
2、这里链接了静态库"tcl84.lib",也可以连接动态库"tcl84.dll",若链接动态库,需要手动导出函数Tcl_CreateCommand。
代码如下:
#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;
}
运行程序后,出现TCL控制台,输入输出如下:
% f1
My function 1
% f2
My function 2
% f1;f2
My function 1
My function 2