提问人:strncmp 提问时间:10/3/2023 更新时间:10/3/2023 访问量:26
我可以在 flatbuffers 中更改已弃用字段的类型吗?
Can I change deprecated field's type in flatbuffers?
问:
考虑一下我们有这个 fbs
include "/.../foo.fbs";
...
table Bar {
foo:Foo (deprecated);
message:SomeMessage;
}
root_type Bar;
我可以在不破坏向后兼容性的情况下将 foo 的类型更改为一些布尔值或一些空表吗?我在这里的目标是从 foo.fbs 中删除依赖项
编写了一个简单的工具,用于使用旧架构进行序列化,并使用新架构进行反序列化。工作正常,但这种操作仍然可能有一些副作用
答:
1赞
Aardappel
10/3/2023
#1
您不能将其更改为 a,因为这是一种不同大小的类型。最干净的做法是简单地创建一个空类型而不是删除它,例如,尽管如果您真的必须删除它,只要它永远不会被访问,声明(或任何通过引用/偏移类型)也可以工作。bool
Foo
table Foo {}
foo:string
评论