【发布时间】:2015-01-17 17:09:37
【问题描述】:
我有一些使用实现虚拟文件系统的库的 Python 代码。为了让这些虚拟文件系统的驱动程序能够工作一堆 C 函数(如 readdir()、opendir()、fseek()),需要覆盖/替换 - 使用 .so/.cpp 文件中定义的替换。通常这可以通过将 LD_PRELOAD 设置为该 .so 文件来完成。但是,我需要能够在运行时覆盖这些函数,并且理想情况下,一旦使用这些覆盖函数的 Python 函数执行完毕,就可以恢复为非覆盖函数。这可能吗?
【问题讨论】:
标签: python c++ c dynamic-linking ld-preload