gpt4 book ai didi

c - 如何在 C 代码中使用 D 结构?

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

谁能解释一下如何在 C 代码中使用 D 结构?如果我尝试使用它,我会收到这样的错误:

error: storage size of 'myStruct' isn't known
struct str_struct myStruct;

这是一个结构:

extern(C) {
struct str_struct {
string str;
};
}

我在 C 中这样使用它:struct str_struct myStruct;

最佳答案

您必须用两种语言复制所有成员的结构定义(除非您只想通过指针引用它)。 C看不到D写的字段列表。

D:

struct Foo {
int length;
int* data;
}

C:

typedef struct Foo {
int length;
int* data;
};

棘手的事情是正确做多。 long 在 D 中始终是 64 位,因此在 C 中,这将是 long long。不过,大多数其他基本类型都非常容易转换:short=>short、int 到 int、char 到 char、指针以相同的方式工作,等等。

关于c - 如何在 C 代码中使用 D 结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21531509/

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