我正在尝试在ActiveTcl 8.5中使用zlib扩展,以便将压缩的blob保存到文件中。 win32上的ActiveTcl 8.5.5和8.5.6都有zlibtcl 1.2.3扩展。我试过了两个:
package require zlibtcl
和
load zlibtcl123.dll
这两者似乎都表明扩展已正确加载。但是,我似乎无法弄清楚访问扩展所需的命令。我知道ActiveTcl 8.6b1以后内置了zlib功能(http://wiki.tcl.tk/4610),但我需要部署到必须使用8.5.x的现有系统。
据我所知,加载扩展程序不会向解释器添加任何新命令,这非常令人困惑。在dll上运行字符串似乎没有显示任何其他信息。
注意:我的备份计划是SWIG zlib,但如果可能,我更愿意使用现有的扩展程序。
答案 0 :(得分:2)
vfs :: zip包可能会更幸运。 comp.lang.tcl here上有一个例子。
答案 1 :(得分:1)
zlibtcl仅由Img包用于处理像PNG这样的图像格式的压缩。如上所述,请尝试vfs :: zip。 Trf包也值得研究。见http://wiki.tcl.tk/479
答案 2 :(得分:1)
您可以从equi4获取zlib软件包的副本,该软件包将其作为对tclkit
Tcl解释程序/打包系统的支持的一部分提供。它不支持8.6中使用的完整接口,但它确实足以让您可以压缩和解压缩。
或者您可以使用tclkit
代替tclsh
/ wish
,并且已经内置了zlib包。