gpt4 book ai didi

gcc - gcc 提供的原子内置函数实际上是否已转换为示例代码,或者只是为了说明目的?

转载 作者:行者123 更新时间:2023-12-03 02:14:25 25 4
gpt4 key购买 nike

所以我在读http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html ,并发现了这个:

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

这段代码是字面意思吗?或者只是为了解释 gcc 使用类似 c 的语法原子地做什么?如果这是直接翻译,有人可以解释它是如何原子的吗?

最佳答案

没有。该代码只是为了说明函数如何运行。

原子函数不是用 C 语言编写的,而是用每个体系结构的汇编语言编写的。由于某些架构没有实现原子操作所需的指令,因此并非所有操作在每种架构上都有效。

关于gcc - gcc 提供的原子内置函数实际上是否已转换为示例代码,或者只是为了说明目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2435981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com