作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试使用第三方 .so、P4API.so,它调用 librt.so 中定义的 clock_gettime,并希望我的脚本的用户不必设置 LD_PRELOAD。所以在 init.py 文件中,我有:
import ctypes
librt = ctypes.cdll.LoadLibrary('librt.so')
这会很好地加载库,但运行脚本仍然会发出:
ImportError: /path/to/P4API.so: undefined symbol: clock_gettime
我试过:
__builtins__['clock_gettime'] = librt.clock_gettime
但这也行不通。
如何让 P4API.so 识别加载的 librt?
最佳答案
你需要加载它
ctypes.CDLL('librt.so', mode=ctypes.RTLD_GLOBAL)
为了让其他图书馆可以使用它。
关于python - 如何在 Python 中使用 librt 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10401059/
我是一名优秀的程序员,十分优秀!