Qt原子操作实现

blu*_*kin 0 qt atomic reference-counting

我一直试图找到Qt的引用计数的实现位置和方式.QBasicAtomicInt和QAtomicInt使用ref()和deref()函数,它们提供有效的引用计数API.这些函数以原子方式递增和递减值,但这些函数在库中实现的位置是什么?我试图了解Qt究竟是如何实现原子引用计数的.谢谢.

Kyl*_*utz 6

在纯C++中无法实现原子操作,因此它们可以直接在每个特定处理器体系结构的汇编中实现.

以下是Qt x86处理器原子操作的来源:http://qt.gitorious.org/qt/qt/blobs/4.7/src/corelib/arch/i386/qatomic_i386.s