unity代码 获取dropdown_Unity mono代码结构分析及阅读(一)——目录分析

本文是Unity Mono代码结构系列的第一篇,主要探讨Unity Mono如何获取dropdown源码,并介绍Mono的目录结构,如LibGC、MCS、Mono等。文章还讨论了CLR、CIL、垃圾回收和JIT编译器,揭示了Unity Mono跨平台实现的复杂性,以及为何Unity选择il2cpp作为解决方案。
摘要由CSDN通过智能技术生成

e1af7c6b392dbb9b0d1013648cd75fe3.png

在往后的几篇文章中,作者将基于unity提供的开源mono的代码,来研究一下Mono CLR(Common Language Runtime)的具体实现。这是本文的第一篇。

本文涉及到一些关于CLR和CIL的基础知识,如果没有阅读上篇文章的读者可以先阅读一下上一篇文章。简单总结一下就是CIL是一个标准化的通用中间语言,而CLR是一个可以解析和运行CIL这个语言的本地环境。

月熊:Unity C# 和 Mono​zhuanlan.zhihu.com
1207197994d9e597b8cfa34a1a34d009.png

Mono是开源软件,Unity开始使用的时候,做Mono做了很多引擎相关的修改,时间一长,这些修改导致Unity维护的版本跟mono主线版本差异越来越大。随着Unity使用的人越来越多,越来越多的开发者想要对Unity自己魔改的Mono进行一些修改和调试。

不得已,Unity官方单独开一个Github来存放Unity自己修改后mono。

获取Unity对应版本的mono源码

对于使用Unity源码的同学,可以在 Src_Unity/External/Mono/builds/versions.txt中,找到对应的mono版本的md5(40个数字和英文混杂的字符串)mono_xx,拼接到https://github.com/Unity-Technologies/mono/tree/ 末尾,打开网页即可找到对应版本。

对于使用Unity官网引擎的同学,可以在https://github.com/Unity-Technologies/mono 中找到对应Untiy版本的mono源码。

笔者使用的是比较老的Unity5.6版本的Mono源码,如果没有特殊说明,后面的均已笔者手里的Unity5.6的代码为基础进行分析。

关于Mono部分目录介绍

如果读者按照上述的教程下载到对应版本的Mono源码后,解压,会生成一个Mono文件夹,里面包含了所选定Unity版本Mono所用到的构建脚本和代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值