我有一个库,并且使用swig为相同的库生成了tcl绑定。如果我的原始lib dll是xyz.dll,则生成的dll是xyz_tcl.dll。但是,当我尝试加载dll时,它显示“无效的命令名称“ MZ””。有人能告诉我原因吗?

最佳答案

MZ几乎可以肯定是DLL的前几个字节(这是文件格式的“魔术数”),因此您可能正在尝试做一个猜测:

source xyz_tcl.dll


那行不通。它包含与Tcl集成的已编译C代码,但不包含Tcl脚本。相反,您需要执行以下操作:

load xyz_tcl.dll


当然,应该将其构建到一个包中(该包是一个包含所需DLL和文件pkgIndex.tcl的目录),然后您可以执行以下操作:

package require xyz


pkgIndex.tcl文件包含有关如何使用其他文件(必要时通过loadsource定义软件包)的说明。)

07-24 09:46
查看更多