在Python中加载DLL

时间:2014-10-31 19:38:31

标签: python c module extending

我按照此处的指南进行操作:

http://www.dalkescientific.com/writings/NBN/c_extensions.html

用于创建python的C扩展。但是当我尝试在构建该模块后运行任何python程序时,例如列出的第一个模块或mandelbrot.py(在页面末尾列出)。我在第libc = ctypes.CDLL("libc.dylib", ctypes.RTLD_GLOBAL)

上收到错误

错误是:

Traceback (most recent call last):
File "cos.py", line 5, in < module >
libc = ctypes.CDLL("libc.dylib", ctypes.RTLD_GLOBAL)
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libc.dylib: cannot open shared object file: No such file or directory

我使用的是Linux,所以我不确定这是不是问题所在。如果是的话,我将如何在Linux上实现这一目标?我知道Windows是如何引用共享对象的。但语法有变化吗?我似乎无法在任何地方找到答案。

1 个答案:

答案 0 :(得分:1)

在GNU / Linux上,cos()函数位于名为libm.so的库中。所以你需要替换&#34; libc.dylib&#34;用&#34; libm.so&#34;。