- 博客(7)
- 收藏
- 关注
原创 协程原理 Unity/C#
协程(Coroutines)是一种比线程更加轻量级的存在。协程完全由程序所控制(在用户态执行),带来的好处是性能大幅度的提升。协程是一个特殊的函数,这个函数可以在某个地方挂起,并且可以重新在挂起处继续运行。协程与线程与进程: 一个操作系统中可以有多个进程;一个进程可以有多个线程;同理,一个线程可以有多个协程。一个线程内的多个协程的运行是串行的,这点和多进程(多线程)在多核CPU上
2025-03-21 20:20:54
701
原创 lua 夏令时时间戳处理
一个从源头解决地区以及夏令时问题的方法: 本地计算时间戳会受到夏令时的影响,需要根据isdst手动处理, 可以换成服务器直接计算后下发给客户端,客户端只用服务器的时间做计算
2024-09-29 20:05:55
541
原创 C#与Lua的交互
C#与lua的相互调用其实并不难,难的是调用时数据的传递和返回,每次数据操作时都可能涉及到类型转换,类型检验,参数校验,需要在lua虚拟机的执行栈中不断的入栈出栈,还需要处理两边调用对象的引用关系,防止出现内存泄漏.数据操作部分是因为#c是稳定类型,lua是动态类型,c#不能直接调用lua 的参数需要转换;出栈和入栈是因为c#和lua两边的通信需要通过lua的栈栈顶数据进行数据读取.
2024-08-12 16:29:02
768
原创 Mono与IL2CPP
Unity支持的其他平台:Unity引擎可以将C#或Unity脚本转换为C++代码,然后在支持的平台上编译和执行,从而做到跨平台应用。
2024-02-27 21:42:17
1558
原创 .NET 程序集
是.NET框架中是一部分,它包含了许多功能,其中包括即时编译(JIT)器。CLR中的JIT编译器负责将.NET程序集中的中间语言代码(IL代码)转换为本地机器代码,以便在特定平台上执行。因此,CLR中的JIT编译器是.NET应用程序在运行时将IL代码编译成本地代码的关键组件之一。
2024-02-26 22:21:35
913
1
原创 代码热重载(lua)
所谓热重载就是在运行期间替换和更新代码,便于UI代码测试阶段使用(因为我们做了函数、数据分离,所以我这个工程目前只考虑替换函数)
2024-02-22 21:18:16
525
1
原创 C# 反射
Console.WriteLine("命名空间: " + type.Namespace);Console.WriteLine("父类: " + type.BaseType);Console.WriteLine("类名: " + type.Name);Console.WriteLine("輸入{0}", temp);Console.WriteLine("实现的接口: ");提示:using System, using System.Reflection。
2024-02-22 09:30:12
238
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人