生成自己的 tclsh

最近因工作需要,开始学习tcl脚本,这是一种命令式的脚本语言,非常的简单,所有操作都是 命令+参数+参数+参数 这样来执行的。在看到用c/c++来扩展tcl时,培训教程里提到使用tcl库来生成自己的tclsh,下面讲解具体的做法。

百度一下,你会知道有一种工具叫activetcl,安装完成后在运行中输入 cmd ,然后再输入 tclsh,就出现一个% 命令提示符,tclsh就是脚本解析器啦。

tcl本身是用c实现的,可以看成是c库,官方网站为 http://www.tcl.tk/

你去下载tcl时,会发现只有source releases. 对的,我们想做自己的tclsh,必须得要源码才行。我下了个8.4.19版本的。tcl源码库源码应该在generic里面。另外目录win下面有一个vc6版本的工程,用VC6打开编译后,生成Debug和Release文件夹,Debug文件夹下主要文件有:tcl84g.dll,tcl84g.lib,tcldde12g.dll,tclpip84g.dll,tclreg11g.dll,Release文件夹下主要文件有:tcl84.dll,tcl84.lib,tcldde12.dll,tclpip84.dll,tclreg11.dll,tclstub84.lib 。


要把tcl当C库来使用,很显然,我们一般需要一些.h文件和.lib文件及.dll文件,看看上面,我们已经有这些了。于是我将generic中的.h文件拷贝到一个名叫include的文件夹中,再将上面的.lib和.dll文件拷贝到一个名叫lib的文件夹中。然后再新建一个console工程。我们先来配置debug版本:

1.添加include库:项目-》属性-》c/c++常规-》附加包含目录-》添加 "D:\VS2008_C++\my_tclsh3\my_tclsh3\include"。

2.添加lib库:项目-》属性-》链接器-》常规-》附加库目录-》添加 D:\VS2008_C++\my_tclsh3\my_tclsh3\lib

3.添加lib附加依赖项: 项目-》属性-》链接器-》输入-》附加依赖项 -》添加 tcl84g.lib tclstub84.lib

说了半天,就是如何使用动态链接库了,这个不会的自己百度得了...

代码:

#include "stdafx.h"
#include "tcl.h"
#include "stdio.h"
#include "stdlib.h"

int Tcl_AppInit(Tcl_Interp* interp)
{
Tcl_Init(interp);
return TCL_OK;
}

int _tmain(int argc, char* argv[])
{
Tcl_Main(argc,argv,Tcl_AppInit);
return 0;
}

编译运行,就成了一个tclsh一样的东西了,就到这里先

补充说明:其实不用下载源码,下载activetcl安装完成后,你会发现它也有我们需要的头文件,lib和dll文件,所以,我们不用自己下源码去编译了。如果你想学习源码,那也可以。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值