Unity 代码编译名词解释

.NET:https://dotnet.microsoft.com/zh-cn/learn/dotnet/what-is-dotnet

.NET Unity:https://docs.unity3d.com/Manual/overview-of-dot-net-in-unity.html

CLR:https://learn.microsoft.com/zh-cn/dotnet/standard/clr

Roslyn:https://github.com/dotnet/roslyn

Mono:https://docs.unity3d.com/Manual/Mono.html

IL2CPP:https://docs.unity3d.com/Manual/IL2CPP.html

HybridCLR:https://hybridclr.doc.code-philosophy.com/docs/intro

LuaJIT:https://luajit.org/luajit.html

Lua:https://www.lua.org/

ToLua:https://github.com/topameng/tolua

请添加图片描述

.NET

  • 一个开发平台,包含多个组件,运行时、库、工具。

  • 组成包括 .NET Core、.NET Framework 和 .NET 5/6/7。

  • 提供公共语言运行时(CLR)来执行 C# 代码,并提供垃圾回收、内存管理、安全性等功能。

C#

  • 是.NET框架下的语言,平常用using System;就是.NET提供的库。

Roslyn

  • 编译C#代码成IL代码。

Mono

  • 运行时,JIT编译(Just-In-Time),编译IL代码成目标平台的机器码。

  • 是.NET的一种实现,开源的,Unity早期选择他,因为开源且跨平台比.NET多。后面移动端基本不用他了。

  • 早期把.NET支持的都实现了一遍,但后续.NET新增功能兼容不多。即有些C#新语法还没兼容。

  • 常用于编辑器下编译C#,还有移动设备编译调试用。

  • 因为是JIT编译,就可以根据实际平台运行时做不同代码处理,早期一些C#热更就通过这个方式实现的。

IL2CPP

  • 转换IL代码为C++代码,最后用需要的平台编译成对应机器码。AOT 编译(Ahead-Of-Time),运行时没有编译开销。

  • 在有些平台不支持JIT编译(比如WebGL),就只能用IL2CPP。

  • 目前打包安卓,iOS都用他。

  • C# 热更 HybridCLR把IL2CPP的纯AOT编程了AOT+Interpreter

    • Interpreter:Mono的一个功能,直接逐行解释执行IL代码,不编译成机器码。

Lua

  • 通常项目中用ToLua或者XLua来实现和Lua的交互。目前项目用ToLua。

  • Lua有两种版本一种标准Lua(Standard Lua),一种LuaJIT。目前项目用LuaJIT。

标准Lua (Standard Lua)

  • 运行时逐行解析 Lua 代码,转换成字节码,Lua 解释器会读取这些字节码指令并执行它们。

  • 官方有在维护,更新到5.4.7+。

LuaJIT (Just-In-Time)

  • 运行时将 Lua 代码的编译成本地的机器码,然后直接在处理器上执行这些机器码,避免了解释执行的性能开销。

  • 从标准Lua5.1分支中实现,不直接支持后续标准Lua版本更新内容。一般是ToLua、XLua自己在维护,比如Lua5.3之前不支持int64,即LuaJIT不支持int64,但是ToLua中有自己实现支持。

  • 项目打包Lua成AB前,会先编译一遍Lua成字节码,可以省去运行时解析编译原始Lua文件时间。

  • 免补丁Lua的话是原始Lua文件。

基于部落竞争与成员合作算法(CTCM)融合动态窗口法DWA的无人机三维动态避障方法研究,MATLAB代码 动态避障路径规划:基于部落竞争与成员合作算法(CTCM)融合动态窗口法DWA的无人机三维动态避障方法研究,MATLAB 融合DWA的青蒿素优化算法(AOA)求解无人机三维动态避障路径规划,MATLAB代码 基于动态环境下多智能体自主避障路径优化的DWA算法研究,MATLAB代码 融合DWA的青蒿素优化算法AOA求解无人机三维动态避障路径规划,MATLAB代码 基于DWA的多智能体动态避障路径规划算法研究,MATLAB代码 融合动态窗口法DWA的粒子群算法PSO求解无人机三维动态避障路径规划研究,MATLAB代码 基于粒子群算法PSO融合动态窗口法DWA的无人机三维动态避障路径规划研究,MATLAB代码 基于ACOSRAR-DWA无人机三维动态避障路径规划,MATLAB代码 基于ACOSRAR-DWA无人机三维动态避障路径规划,MATLAB代码 基于DWA的动态环境下无人机自主避障路径优化,MATLAB代码 基于DWA的动态环境下机器人自主避障路径规划,MATLAB代码 基于城市场景下RRT、ACO、A*算法的无人机三维路径规划方法研究,MATLAB代码 基于城市场景下无人机三维路径规划的导航变量的多目标粒子群优化算法(NMOPSO),MATLAB代码 导航变量的多目标粒子群优化算法(NMOPSO)求解复杂城市场景下无人机三维路径规划,MATLAB代码 原创:5种最新多目标优化算法求解多无人机协同路径规划(多起点多终点,起始点、无人机数、障碍物可自定义),MATLAB代码 原创:4种最新多目标优化算法求解多无人机协同路径规划(多起点多终点,起始点、无人机数、障碍物可自定义),MATLAB代码 高维超多目标优化:基于导航变量的多目标粒子群优化算法(NMOPSO)的无人机三维
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值