gpt4 book ai didi

c - 在 C 中将一个结构打包成一个 long

转载 作者:太空宇宙 更新时间:2023-11-04 05:00:12 25 4
gpt4 key购买 nike

我有一个包含两个整数的 struct

struct ref{
int next;
int marked;
}

我需要使用 CAS 自动比较其中两个结构。

__sync_bool_compare_and_swap(&(ref1),old,new);

我如何转换这个 struct 以便在 c 中将其引用为 long long

我试过这个:

    __sync_bool_compare_and_swap(&((long long)(ref1)),(long long)(old),(long long)(new));

但它给了我这个错误:

aggregate value used where an integer was expected

最佳答案

假设 ref1 是结构类型 ref 的实例,并且 oldnew 已经是long long 类型,您应该能够:

__sync_bool_compare_and_swap((long long *)&ref1, old, new);

关于c - 在 C 中将一个结构打包成一个 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19391038/

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