ILRuntime +FlatBuffer篇

ILRuntime和FlatBuffer就不介绍了
本文主要针对对Ilruntime和FlatBuffer有一定基础的人,讲了一些目前的处理方法

1 Ilruntime本身跑不了FlatBuffer

目前遇到的问题如下:
flatbuffer内的泛型不支持,可空类型不支持,system.IntPtr不支持

2.工作流程

下面是一个简单的流程图,还有很多可优化的内容,时间原因目前先这样跑起来了

ILruntime + FlatBuffer

3 一些解决方案

1) 不支持泛型 :修改flatc.exe源码,将泛型相关代码矫正为不需要泛型的代码
替代方案将flatbuffer放入热更工程(暂时还没有测对应的效率)
2) 不支持IntPtr: 先修改ILRuntime源码,强制编过了,后续标准解决方案应该是将生成的二进制类拆分为主工程类和热更工程类
3) 可空类型不支持: 看了下flatbuffer其实不太需要可空类型,大概是统一使用可空类型会减少flatc工程的工作量,所以用的。解决方案也是修改flatc.exe的源码,去除可空类型
链接: FlatBuffer链接
链接: 去除了可空类型的flatc.exe链接

猜你喜欢

转载自blog.csdn.net/qq_28976599/article/details/125104092