如何从Python加载一个用tcl编写的dll文件

时间:2012-10-05 20:54:50

标签: python dll tcl

我有一个用tcl编写的脚本,它加载了一个dll文件。我想在python中加载这个文件。我不确定dll文件是否是用tcl编写的,但是由于tcl文件导入它,我认为它是用tcl编写的。我试过使用WinDLL(“path_to_dll”),但我得知没有提供名称的模块。

2 个答案:

答案 0 :(得分:2)

最简单的方法是在Python Process中使用Tkinter包及其内置的Tcl解释器。

如果它是一个Tcl扩展dll,那么在没有太多设置的情况下从Python调用它就没有任何意义。

答案 1 :(得分:1)

Python和Tcl有着截然不同的C API;根本没有理由期望为一个编写的二进制库可以与另一个一起工作。有可能编写一个库,它将使用加载到哪个库的API - 从Tcl的角度来看,这将涉及链接到Tcl存根库,这样就没有与API的讨厌的硬绑定 - 但我不知道我知道如何在Python方面做到这一点,这绝对是非常棘手的事情。更实际的是,有一个库包含一个独立于语言的实现,然后还有两个将该API绑定到特定语言(绑定层甚至可以使用像SWIG这样的工具自动生成,但这并不能解决语言阻抗问题问题)。

当然,如果您只是想从一种语言编写库并从另一种语言中使用它,那么您可以这样做。毕竟,库只是磁盘上的字节数。尽管通常情况下,让专业工具(编译器,链接器)看起来更容易。图书馆的数据格式并不是最简单的事情!