骑砍Ⅱ霸主MOD开发(26)-本体域托管域外部DLL库
一.内存区域划分 1.本体域:由C++实现基础GameEntity,Agent,Resource等对象的创建和销毁,需手动释放和创建对象. 2.托管域:由C#实现对GameEntity,Agent,Resource操作的业务逻辑,内存对象基于C#自动GC机制实现创建和销毁. 3.外部DLL库:外部实现的私有函数文件,通过C++/C#之间调用完成参数输入和输出.二.内存区域创建TaleWorlds.MountAndBlade.Launcher.exe(启动器EXE,启动器进程) ⬇ TaleWorlds.MountAndBlade.Launcher.Library.Program(C#业务功能,绘制列表,监听事件) ⬇ TaleWorlds.Starter.Library.Program(启动器进程点击确定触发) ⬇ MBDotNet.WotsMainDotNet(销毁启动器进程,创建RGL进程) ⬇ TaleWorlds.DotNet.ManagedObject(创建C#托管域,C#对象管理)三.NativeObjectDotNetObjectWeakNativeObjectReference