我正在尝试使用第三方.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识别加载的库?
发布于 2012-05-01 17:05:06
你需要装载它
ctypes.CDLL('librt.so', mode=ctypes.RTLD_GLOBAL)以供其他库使用。
https://stackoverflow.com/questions/10401059
复制相似问题