我一直试图找到Qt的引用计数的实现位置和方式。 QBasicAtomicInt和QAtomicInt使用ref()和deref()函数,它们提供有效的引用计数API。这些函数以原子方式递增和递减值,但这些函数在库中实现的位置是什么?我试图了解Qt究竟是如何实现原子引用计数的。谢谢。
答案 0 :(得分:6)
在纯C ++中无法实现原子操作,因此它们可以直接在程序集中针对每个特定的处理器体系结构实现。
以下是Qt x86处理器原子操作的来源:http://qt.gitorious.org/qt/qt/blobs/4.7/src/corelib/arch/i386/qatomic_i386.s