Реализация атомарных операций Qt - PullRequest
0 голосов
/ 14 ноября 2010

Я пытался найти, где и как реализован подсчет ссылок для Qt.QBasicAtomicInt и QAtomicInt используют функции ref () и deref (), которые обеспечивают эффективный API для подсчета ссылок.Эти функции атомарно увеличивают и уменьшают значение, но где эти функции реализованы в библиотеке?Я пытаюсь понять, как именно Qt осуществляет атомный подсчет ссылок.Спасибо.

1 Ответ

6 голосов
/ 15 ноября 2010

Атомарные операции не могут быть выполнены в простом C ++, поэтому они реализуются непосредственно в сборке для каждой конкретной архитектуры процессора.

Вот источник атомарных операций Qt для процессоров x86: http://qt.gitorious.org/qt/qt/blobs/4.7/src/corelib/arch/i386/qatomic_i386.s

...