在Python中加载DLL
我正在按照这里的指南进行操作:
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中,dll是指共享对象。但在Linux中,语法会改变吗?我似乎找不到答案。
1 个回答
1
在GNU/Linux系统中,cos()这个函数是在一个叫做libm.so的库里。所以你需要把"libc.dylib"换成"libm.so"。