首页 > 其他 > 详细

游戏设计-InjectFix-private

时间:2020-06-30 20:08:36      阅读:64      评论:0      收藏:0      [点我收藏+]

1 C#热更新预备知识

mono.cecil注入

使用Mono.Cecil实现IL代码注入

注入之后修改dll,新增mdb文件:
技术分享图片

注意,待了解参数注释打开会报错:
技术分享图片

InjectFix

安装

你试试用mcs可以不,你把第二行改为
@set GMCS="%UNITY_HOME%\Editor\Data\MonoBleedingEdge\bin\mcs.bat"

2 使用

2.1原理

2.2特征和支持

  • 修改函数

  • 新增类(Interpret)

  • 新增函数 (Interpret)

  • 不支持泛型函数

  • 不支持新增字段新增属性

2.3规则和约定

  • 1 Inject过后的工程,不能拿来Fix操作去得到补丁。(报错会提示reimport)
  • 2 C#编译后(修改代码),需要重新注入Inject
  • 3 [Interpret]标记的新增类,补丁里有了,原版本的C#工程就不能有重复。([patch]无所谓,新增函数无所谓)

其他

iOS禁止APP创建可写可执行的内存页,而这是JIT必须的

  • 执行文件大小限制
    执行文件大小是指执行文件的__TEXT部分
    当IOS最低版本小于7.0,32位+64位最多为80MB;
    当IOS大于等于7.0,每个分区是60MB(并不是指32位+64位最多为120MB,当32位分区占用50MB,64位分区占用61MB,总111MB也不行,因为64位分区超出了);
    当IOS大于等于9.0,总限制400MB;

游戏设计-InjectFix-private

原文:https://www.cnblogs.com/Jaysonhome/p/12996853.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!