下面我会用生动形象的比喻,再结合程序角度的深入分析,详细解释C#程序是如何加载Lua代码并解析执行的。
一、形象比喻
想象你有一个C#“大管家”,家里来了一个“Lua小厨师”。
你(C#)不会做菜(写脚本),但你能雇佣小厨师(Lua虚拟机)来帮你做菜(执行脚本)。
流程如下:
-
你(C#)请来了小厨师(Lua虚拟机)
你在家里(程序里)新建了一个厨房(Lua环境)。 -
你把菜谱(Lua脚本)交给小厨师
你把写好的菜谱(Lua代码字符串或文件)递给小厨师。 -
小厨师看懂菜谱,开始做菜
小厨师(Lua虚拟机)会自己读菜谱(解析Lua代码),一步步做菜(执行脚本逻辑)。 -
你可以和小厨师互动
你可以让小厨师帮你做某道菜(调用L