【发布时间】:2009-04-27 11:31:53
【问题描述】:
我最近一直在玩 Python 中相当出色的 ctypes 库。我想知道的是,是否可以创建共享的D 库并以相同的方式调用它们。我假设我将使用-fPIC 和dmd 或gdc 编译.so 文件,并使用ctypes 库以相同的方式调用它们。
有人试过吗? UNIX 上的共享库似乎得到部分支持。
非常感谢,
阿尔。
【问题讨论】:
-
你可能想用'D'标记这个?
我最近一直在玩 Python 中相当出色的 ctypes 库。我想知道的是,是否可以创建共享的D 库并以相同的方式调用它们。我假设我将使用-fPIC 和dmd 或gdc 编译.so 文件,并使用ctypes 库以相同的方式调用它们。
有人试过吗? UNIX 上的共享库似乎得到部分支持。
非常感谢,
阿尔。
【问题讨论】:
在这种情况下,Windows dll 应该可以正常工作。我不确定 Linux 上的情况,共享库存在一些问题,将在 dmd 的 64 位端口完成后立即解决。
请注意,您必须将函数导出为 extern(C) 或 extern(Windows) 才能从 ctypes 访问它们。
【讨论】: