TCL/TK 学习笔记 之 用C定义自己的TCL命令

第一步:编写一个.c文件,例如simple.c
              /**simple.c**/
              #include "simple.h"
              char* _fun()            //该函数在导出后可以在TCL脚本中当做命令使用
              {
                       return "test";
              }

               编写一个 .h 文件 
              /** simple.h **/
              char* _fun() ;             //头文件的条件编译预处理我在这里都不写了,只简单的声明一个函数

第二步:编写一个.i文件(.i文件即时一个接口文件,swig工具通过该文件生成一个可以导出命令的 .c 文件)
              如果这个文件 叫 simple.i, 那么swig 生成的那个文件就叫做 simple_wrap.c
              /** simple.i **/
             %module simple
              %{
                       #include "simple.h"
               %}
               void _fun();       //在 .i 文件中指明要导出的函数(因为.c 文件中可能存在不止一个函数,导出我们想要的)
               
第三步:  使用swig工具
               swig  -tcl   simple.i

第四步: 编译.c文件,生成共享库文件
              gcc -fpic -c simple.c simple_wrap.c
              gcc -shared simple.o simple_wrap.o -o simple.so

第五步:使用
             tclsh       //进入tcl环境
             load   simple.so     //加载共享库到当前tcl环境
             puts [_fun]           //使用自定义的命令_fun, 这条命令将输出 “hello"

需要注意的地方:
       1、在编译的时候一定要连同自己写那个 .c 文件一起编译,链接时也同时链接进入。不然会在 load 的时候出现找不到的命令错误。
       2、每个用户的TCL安装路径可能不同,如果编译器不能自动找到该路径,需要手动指定 tcl的 include路径和 lib 路径。
<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(321) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Linux Shell之常用快捷键

给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值