LD_PRELOAD - 可以拦截像 + 和 - 这样的原始运算符吗?

Posted

技术标签:

【中文标题】LD_PRELOAD - 可以拦截像 + 和 - 这样的原始运算符吗?【英文标题】:LD_PRELOAD - possible to intercept primitive operators like + and -? 【发布时间】:2014-12-01 23:05:27 【问题描述】:

是否可以使用 LD_PRELOAD 拦截像这样的原始操作(+、-、% 等)?

int64_t endWhenNsec = startWhenNsec + gTimeLimitSec;

如果没有,有什么方法可以达到类似的效果?

【问题讨论】:

不,因为通常整数算术运算不是作为函数实现的,而是作为 CPU 已知的原始指令实现的。 【参考方案1】:

没有。原始运算符直接编译为机器代码。不涉及库,因此预加载库不能改变它们的行为。如果可以的话,那真是一团糟!

【讨论】:

以上是关于LD_PRELOAD - 可以拦截像 + 和 - 这样的原始运算符吗?的主要内容,如果未能解决你的问题,请参考以下文章

在运行时将函数与 LD_PRELOAD 链接

使用LD_PRELOAD拦截共享函数库的函数调用

使用Linux功能是否会禁用LD_PRELOAD

如何将 gdb 与 LD_PRELOAD 一起使用

LD_PRELOAD加载动态库

LD_PRELOAD加载动态库