【发布时间】:2014-02-07 07:09:22
【问题描述】:
如果线程与 Pthread 互斥锁/自旋锁同步,则可以轻松地包装对pthread_mutex_lock() 和pthread_mutex_unlock() 的调用,例如,使用LD_PRELOAD。这对于记录/调试非常有用。
是否可以使用 gcc 的 atomic built-ins 做类似的事情,例如__sync_fetch_and_add?
我想我无法与我们联系LD_PRELOAD,但也许还有其他一些机制。
【问题讨论】:
-
内部函数直接转化为机器指令。它们不是库函数调用。
-
是的,我知道这一点。但也许 gcc 提供了一些编译标志或其他方法来包装这些函数。
-
请注意,
__sync内置函数是“遗留”的。考虑更新的__atomic内置函数。
标签: c gcc atomic word-wrap built-in