gpt4 book ai didi

c - 旧 gcc 编译器的 __sync_val_compare_and_swap 函数的替代方案

转载 作者:太空宇宙 更新时间:2023-11-03 23:34:28 25 4
gpt4 key购买 nike

我在我的项目中有以下方法:

long compare( long* avar, long comp, long exc )
{
return __sync_val_compare_and_swap( avar, comp, exc );
}

但是如果我想使用不支持 AtomicBuiltins 的 gcc 版本(旧版本,例如 3.4.3)编译我的项目解决我们问题的替代路径是什么?我们可以使用哪种替代函数(__sync_val_compare_and_swap 的替代方法)或函数 block 来代替 __sync_val_compare_and_swap?

最佳答案

我认为唯一的选择是您必须通过汇编器来实现它。我认为 gcc 的 asm 扩展早于石器时代,因此您可能遇到的任何编译器都会支持它。

实现这个特定的功能并不难,而且您很容易找到引用资料。不过,您必须为您关心的每个架构提供不同的实现。

关于c - 旧 gcc 编译器的 __sync_val_compare_and_swap 函数的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684731/

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