gpt4 book ai didi

rust - [repr(C)] 是否传播给子成员?

转载 作者:行者123 更新时间:2023-11-29 07:58:11 35 4
gpt4 key购买 nike

我有一个结构:

struct A {
names: Vec<String>,
}

还有另一个结构:

#[repr(C)]
struct B {
pub a: A,
}

这是否使 A 也具有 repr(C) 注释?将这种结构传递给 C 代码是否正确?

最佳答案

你的答案是:

  1. 没有
  2. 没有

#[repr(C)] 不会使结构“对 FFI 安全”,它保证内存中的表示将保持原样并且编译器不会尝试优化它们封面下的空间/效率。这意外地也是安全 FFI 所需要的。

关于rust - [repr(C)] 是否传播给子成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38351929/

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