1

我正在尝试使用 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,但如果可能的话,我更喜欢使用现有的扩展。

4

3 回答 3

2

您可能对 vfs::zip 包有更多的运气。这里有一个关于 comp.lang.tcl 的例子。

于 2009-05-27T10:42:54.030 回答
1

您可以从equi4获得 zlib 包的副本,它作为对tclkitTcl 解释器/打包系统的支持的一部分提供。它不支持 8.6 中使用的完整接口,但它确实足够你可以压缩和解压缩。

或者你可以使用tclkit而不是tclsh/wish并且已经内置了 zlib 包。

于 2010-09-17T12:19:56.437 回答
1

zlibtcl 仅由 Img 包用于处理 PNG 等图像格式的压缩。如上所述,尝试 vfs::zip。Trf 包也值得研究。见http://wiki.tcl.tk/479

于 2009-06-19T21:50:40.523 回答