gpt4 book ai didi

c++ - 源不兼容是否总是意味着二进制不兼容?

转载 作者:太空狗 更新时间:2023-10-29 20:49:13 25 4
gpt4 key购买 nike

欢迎提供任何示例来说明源兼容性被破坏但二进制兼容性得到维护。

最佳答案

旧版本:

struct inner {
int bar;
}

struct foo {
struct inner i;
};

void quux(struct foo *p);

新版本:

struct inner2 {
int bar;
};

struct foo {
struct inner2 i;
};

void quux(struct foo *p);

损坏的代码:

struct foo x;
struct inner *i = &x.i;
i->bar = 42;
quux(&x);

由于唯一的区别是结构的名称,并且内部结构的类型名称在编译期间被删除,因此不存在二进制不兼容性。

关于c++ - 源不兼容是否总是意味着二进制不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1220304/

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