Je lisais http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html, et suis tombé sur ceci:Les intégrations atomiques fournies par gcc sont-elles réellement traduites dans l'exemple de code, ou est-ce uniquement à des fins d'illustration?
type __sync_and_and_fetch (type *ptr, type value, ...)
type __sync_xor_and_fetch (type *ptr, type value, ...)
type __sync_nand_and_fetch (type *ptr, type value, ...)
These builtins perform the operation suggested by the name, and return the new value. That is,
{ *ptr op= value; return *ptr; }
{ *ptr = ~*ptr & value; return *ptr; } // nand
Est-ce code littéral? ou est-ce juste pour expliquer ce que gcc fait atomiquement en utilisant la syntaxe c-like? Et si c'est la traduction directe, quelqu'un peut-il expliquer comment c'est atomique?