>直接引用工具自带的库文件
通过指令:
.1查看能直接调用的库文件路径
#可以查到工具默认库文件路径,一般包括回显中的路径以及回显中路径的父路径。
info library
#D:/Script.NET/V2/Interps/Tcl/Lib/tcl8.
1.2、在上一步的路径下找找没有自己需要的库,通过指令:
package require xxx 引用,一般直接写tcl文件名即可,如果不对,查看pkgIndex.tcl里package ifneeded 后边的名称。 >引用别人的库文件或者添加自己的库文件 下边的工具指Script.NET 、将别人写好的库文件拷贝到编译器所在文件路径下。
路径:D:\Script.NET\V2\interps\Tcl\lib下,脚本中添加"package require xxx"后,就可调用了。 、创建自己的library库 注意:一般不要使用工具自带的控制台生成pkg_mkIndex,问题较多。
可以用ActiveTcl(下边的操作,尽量使用ActiveTcl安装后的tclsh.exe交互界面执行命令)
2.1、在工具安装路径(如D:\Script.NET\V2\lib),lib库路径下创建自己的lib(创建一个文件夹),如:mylib1.
2.2、将自己需要用到的所有tcl文件都放到这个文件夹下(tcl文件中一定要包含:package provide fun 1.0),provide提供的名称和版本。
2.3、执行工具自带的控制台(工具-->控制台),执行pkg_mkIndex -direct "D:\\Script.NET\\V2\\lib\\mylib1.0" *.tcl (tclsh.exe执行时可以在脚本中添加puts xxx,当第一次调用时,会显示puts后的内容,使用工具自带的控制台会添加puts会导致生成失败,但不会提示和报错)
说明:pkg_mkIndex [-direct--使用前直接加载当前路径下的文件,不管用到与否|-lazy -verbose--动态加载,使用时才加载,否则,不加载]
.4生成成功后,会有类似如下显示:
package ifneeded my_fun 1.0 [list source [file join $dir fun.tcl]]
package ifneeded my_namespace 1.0 [list source [file join $dir my_namespace.tcl]]
说明:动态和静态不一样,但是必有引用的文件,不可能全是注释内容
注意:文件中可以有多个方法,但是不能包含puts xxx,否则pkg_mkIndex生成的结果会有问题。
说明:目前测试,包含变量,方法,namespace的脚本都可以被package require xxx 后调用。 、添加自己的library库路径 工具有一个公共变量,执行代码时,可以直接使用
auto_path,使用:
3.1、显示默认自动可以引用的路径
#show the library of path which can be using directly.(Eg:package require xxx)
puts $auto_path
3.1、在默认自动可以引用的路径中,添加自己的路径,注意用applend和/。
#add path to auto_path.Intro:the path must be splited by "/",otherwise,it can not work.
lappend auto_path "D:/Tcl/lib"
puts $auto_path 其他说明:
、非TCL工具里的指令,只能在交互界面里执行(如:dir、ping等系统自带的指令),如果不希望交互里能执行非工具里的指令,可以定义变量set auto_noexec (可以设置成任何值),此时下发dir会报错,不识别。恢复:unset auto_noexec,之后输入dir就可以看到dir以及它对应的回显。

TCL:使用、添加库文件的更多相关文章

  1. 如何在Qt Creator中添加库文件和头文件目录

    在使用QtCreator开发图像处理程序的时候想加入Opencv库来处理图形,添加头文件,需要编辑工程文件夹下的.pro文件在文件中添加以下内容,即可包含头文件的文件夹: INCLUDEPATH += ...

  2. Qt添加库文件和头文件目录(QCreator)

    在使用QtCreator开发图像处理程序的时候想加入Opencv库来处理图形,添加头文件,需要编辑工程文件夹下的.pro文件在文件中添加以下内容,即可包含头文件的文件夹: INCLUDEPATH += ...

  3. win7下添加库文件出现“file is not regcognized”问题

    最近几天需要画电路图,所以安装了protel se99,安装后在添加库文件的时候出现“file is not regcognized”的问题 百度查了一下,说win7基本上都会出现这个问题. 实际上, ...

  4. Cocos2d-x 开发 v3.2 建立新项目并添加库文件

    一.添加其它类库     3.0以上的设计耦合性强,项目中模块常以库的形式存在,需常添加链接库.在3.0中经常用到CocoStudio 编辑器的资源数据,所以需要添加CocoStudio 库. 1.1 ...

  5. VC++ 6.0中添加库文件和头文件

    附加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools>Options>Directories>Include files. 对于特定项目的头文件包含,在& ...

  6. VC6.0中添加库文件和头文件

    附加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools>Options>Directories>Include files. 对于特定项目的头文件包含,在“ ...

  7. VC 6.0中添加库文件和头文件 【转】

    本文转载自:http://blog.sina.com.cn/s/blog_9d3971af0102wxjq.html 加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools&g ...

  8. visual studio 添加库文件

    我在visual studio中使用OpenGL时需要添加额外的库 一 首先下载库文件,里面将会有一些.h文件和.lib文件,打开visual studio安装目录下打开: D:\program\VS ...

  9. Xcode添加库文件framework (转)

    首先需要了解一下iOS中静态库和动态库.framework的概念 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我 ...

随机推荐

  1. The user specified as a definer ('root'@'%') does not exist

    The user specified as a definer ('root'@'%') does not exist 此种报错主要是针对访问视图文件引起的(没有权限) 解决方法: 2.进入mysql ...

  2. 【学习笔记】Y2-1-1 Oracle数据库基础

    Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...

  3. Swiper.js 中文API手册

    本文分享自 http://www.cnblogs.com/scavengers/p/3760449.html ---------------------------华丽的分割线------------ ...

  4. textFiled的placeHolder字体颜色

    self.title=@"修改UITextField的placeholder字体颜色"; UITextField *textTF=[[UITextField alloc]initW ...

  5. Redis GetTypedClient

    C#操作Redis   未包含GetTypedClient定义 原创,转载请注明出处. VS版本:2015 用NuGet安装了Redis的包 按照百度的各种教程来操作,但是发现网上下载的DEMO可以正 ...

  6. 利用命令行将项目传到github上的简单操作

    (1)安装git后,打开cmd,进入要上传的文件夹中: (2)输入git init初始化本地git仓库: (3)git add .将所有文件提交到暂存区: (4)git commit -m'说明文字' ...

  7. brew 任何命令 都 报 synatx error

    brew 忽然不能用了,任何命令都报 syntax error near unexpected token `<<<' 解决方案 cd $(brew --prefix) git fe ...

  8. PHP从mysql获取数据的方法

    <?php require "database.php"; //读取数据库中的数据 $sql_1 = "SELECT * FROM test_table" ...

  9. linq查询一个字段的总和

    (from s in dc.StockInItem   //所要查询单表 join si in dc.StockIn           //联合的表 on s.StockInID equals si ...

  10. 解决jquery-ui-autocomplete选择列表被Bootstrap模态窗遮挡的问题

    最近在一个ASP.NET MVC5项目中使用Bootstrap的模态窗(弹出层)来让用户填写内容,其中的一个编辑框提供了自动完成功能,用jQuery UI Autocomplete来实现. 因为我是W ...