当前位置: 首页 > news >正文

XLua学习笔记 { }

Lua调用C#

通过生成的适配代码进行调用

把在白名单上和打上[LuaCallCSharp]标签的C#类转换成Lua的table,然后注册C#类的方法和属性到table中。性能好,但占用安装包的内存大

通过反射机制进行调用

性能差,在运行的时候才去查找C#的方法,但占用安装包的内存小

C#调用Lua

使用CLua中的LuaEnv这个类的方法

1. DoString

字符串:DoString("print('a')")
模块:DoString("require 'Module.lua'")

2. 值类型的反射

luaenv.Get<int>("a")

3. 引用类型的反射

C#的类和接口需添加[CSharpCallLua]标签
Global.GetInPath<委托>("math.max")
Global.GetInPath<IPerson>("Person")

生成适配代码

Generator.cs

GenAll()

可在Unity编辑器扩展:生成→C#代码→XLua导出

模板

路径:XLua\Src\Editor\Template,可以在里面增加执行语句,Warp文件,Lua调用C#
例如在LuaClassWarp.tpl.txt里的static int m<%=method.Name%>(RealStatePtr L)增加print(“<%=method.Name%>”),就能实现在调用某个方法的时候打印这个方法的名字了

生成拓展适配代码

XLuaExtensionGenerator.cs
LuaFunction,C#调用Lua

相关文章:

XLua学习笔记 { }

Lua调用C# 通过生成的适配代码进行调用 把在白名单上和打上[LuaCallCSharp]标签的C#类转换成Lua的table&#xff0c;然后注册C#类的方法和属性到table中。性能好&#xff0c;但占用安装包的内存大 通过反射机制进行调用 性能差&#xff0c;在运行的时候才去查找C#的方法&#…...

推荐程序员收藏的几个技术社区以及工具网站

常用技术社区 1、GitHub 网站地址&#xff1a;https://github.com/ 全球最大的开源社区&#xff0c;这点我想大家都清楚。但是今年被微软收购&#xff0c;之前很多的人在那说可能以后GitHub就会变样&#xff0c;但是事实并非如此&#xff0c;目前还没有收到什么信息&#xff0c…...

StopWatch计时器

前言 开发中&#xff0c;为了评估性能&#xff0c;我们通常会使用System.currentTimeMillis() 去计算程序运行耗时 long startTimeSystem.currentTimeMillis();//业务代码... long endTimeSystem.currentTimeMillis(); System.out.println("耗时:" (endTime-startT…...

常见web安全漏洞-暴力破解,xss,SQL注入,csrf

1&#xff0c;暴力破解 原理&#xff1a; 使用大量的认证信息在认证接口进行登录认证&#xff0c;知道正确为止。为提高效率一般使用带有字典的工具自动化操作 基于表单的暴力破解 --- 若用户没有安全认证&#xff0c;直接进行抓包破解。 验证码绕过 on server ---验证码校验在…...

11个案例讲透 Python 函数参数

大家好&#xff0c;今天给大家分享一下明哥整理的一篇 Python 参数的内容&#xff0c;内容非常的干&#xff0c;全文通过案例的形式来理解知识点&#xff0c;自认为比网上 80% 的文章讲的都要明白&#xff0c;如果你是入门不久的 python 新手&#xff0c;相信本篇文章应该对你会…...

《分布式技术原理与算法解析》学习笔记Day21

分布式数据存储三要素 什么是分布式数据存储系统&#xff1f; 分布式存储系统的核心逻辑&#xff0c;就是将用户需要存储的数据根据某种规则存储到不同的机器上&#xff0c;当用户想要获取指定数据时&#xff0c;再按照规则到存储数据的机器中获取。 分布式存储系统的三要素…...

开源shell脚本系列-检查etcd集群可用性

图好看不&#xff1f;AI生成的&#xff0c;这几天也在测试AI绘图这个东东&#xff0c;挺牛叉的。咱们的社区工具平台在PC的web端已经完成了。大家没事可以去看看&#xff0c;设置个主页也行其实挺好的&#xff1a;https://www.98dev.com/index&#xff0c;主要用于一些关键性新…...

资源限制类题目七大技巧 解决所有大数据资源限制类问题

有一个无符号整数的文件&#xff0c;数据个数有40亿个&#xff0c;如何通过1G的内存返回出现次数最多的数 1. 对每个数调用哈希函数得到哈希值&#xff0c;将哈希值模上100&#xff0c;进行小文件分类&#xff08;相同的数一定在同一文件&#xff09; 2. 将每个小文件内出现次…...

adb命令导出手机已安装的android应用apk文件

adb命令导出手机已安装的android应用apk文件&#xff0c;保存到PC电脑 前提条件是手机已经和PC电脑可以通过adb建立连接。 &#xff08;1&#xff09;通过adb shell命令获取当前手机所有已经安装的应用包名&#xff1a; adb shell pm list package &#xff08;2&#xff09…...

华为CT6100双千M路由记录

该文章仅仅记录使用CT6100的流程&#xff0c;不提供任何参考和建议。 一、简介 设备&#xff1a;华为CT6100瘦客服端&#xff0c;J1800cpu&#xff0c;不包含外壳&#xff0c;有双千M网口&#xff0c;2G内存8G硬盘。系统&#xff1a;esir的高大全openwrt版本用途&#xff1a;对…...

【AcWing-Python-785】快速排序

题目&#xff1a;https://www.acwing.com/problem/content/description/787/对应视频讲解&#xff1a;https://www.acwing.com/video/227/题目描述注意本题数据已加强。快速排序过程中&#xff0c;如果每次取区间起点或者终点作为分界点&#xff0c;则会超时。分界点换成随机值…...

从 JDK 8 到 JDK 18,Java 垃圾回收的十次进化

经历了数千次改进&#xff0c;Java 的垃圾回收在吞吐量、延迟和内存大小方面有了巨大的进步。 2014 年3 月 JDK 8 发布&#xff0c;自那以来 JDK 又连续发布了许多版本&#xff0c;直到今日的 JDK 18 是 Java 的第十个版本。借此机会&#xff0c;我们来回顾一下 HotSpot JVM 的…...

虚拟机VMware Workstation Pro环境搭建

VMware Workstation Pro是一款虚拟化工具&#xff0c;允许用户在Windows PC上运行多个操作系统。这个平台提供一个安全和独立的环境&#xff0c;让用户在使用前&#xff0c;可以建立和测试应用程序、检查修补程序&#xff0c;以及尝试不同的操作系统。它附有虚拟机库 它允许用户…...

【华为OD机试模拟题】用 C++ 实现 - 敏感字段加密(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...

关于Java方法重写的一些反思

最近在开发中遇到一个关于Java方法重写的一些问题&#xff0c;对于方法重写的用法以及可能导致的问题产生了一些思考&#xff0c;本文用于记录下这些想法。 问题场景 我们首先来看两段代码&#xff1a; Override protected void onActivityResult(int requestCode, int resu…...

【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C语言进阶 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录1.文件操作1.1 概述…...

图形编辑器:拖拽阻塞优化

大家好&#xff0c;我是前端西瓜哥。在图形编辑器中&#xff0c;想象这么一个场景&#xff0c;我们撤销了一些重要的操作&#xff0c;然后想选中一个图形&#xff0c;看看它的属性。你点了上去&#xff0c;然后你发现你再也无法重做了。 你以为你点了一下&#xff0c;但其实你…...

c++ 的 Eigen库写 AX=XB的矩阵求解代码

1.AXXB的矩阵求解代码(3*3) #include <iostream> #include <Eigen/Dense>int main() {// 定义矩阵A和BEigen::MatrixXd A(3, 3);A << 1, 2, 3,4, 5, 6,7, 8, 9;Eigen::MatrixXd B(3, 3);B << 10, 11, 12,13, 14, 15,16, 17, 18;// 求解AXXBEigen::Mat…...

正点原子linux驱动篇

linux驱动开发与裸机开发的区别 裸机直接操作寄存器&#xff0c;有些mcu提供了库&#xff0c;但还是很底层 1、linux驱动开发直接操作寄存器很麻烦不现实&#xff0c;主要是根据linux驱动框架进行开发&#xff08;就是有很多操作都是一样的&#xff0c;我们只需要对一个程序模…...

MATLAB绘制雷达图/蜘蛛图

雷达图/蜘蛛图 1 方法一 函数来源为MATLAB | 如何使用MATLAB绘制雷达图(蜘蛛图) 1.1 调用函数 1.2 案例 2 方法二 函数来源为MATLAB帮助-spider_plot 2.1 调用函数 语法&#xff08;Syntax&#xff09;&#xff1a; spider_plot(P)spider_plot(P, Name, Value, ...)h …...

惊艳展示:MedGemma医学影像分析系统,自然语言提问生成专业报告

惊艳展示&#xff1a;MedGemma医学影像分析系统&#xff0c;自然语言提问生成专业报告 1. 引言&#xff1a;当AI能“看懂”医学影像&#xff0c;并“说”出专业见解 想象一下&#xff0c;你手里有一张肺部X光片&#xff0c;但你不是放射科医生。你看着那些黑白影像和复杂的结…...

窗口总乱跑?PersistentWindows让你的桌面布局稳如泰山

窗口总乱跑&#xff1f;PersistentWindows让你的桌面布局稳如泰山 【免费下载链接】PersistentWindows fork of http://www.ninjacrab.com/persistent-windows/ with windows 10 update 项目地址: https://gitcode.com/gh_mirrors/pe/PersistentWindows 多显示器用户和远…...

机器标识重置技术实现的Cursor Pro功能解锁解决方案

机器标识重置技术实现的Cursor Pro功能解锁解决方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial request li…...

窗口效率革命:WindowResizer重构数字空间管理新范式

窗口效率革命&#xff1a;WindowResizer重构数字空间管理新范式 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 问题诊断&#xff1a;被忽视的数字空间效率黑洞 现代办公的隐形枷…...

从零搭建PointRCNN:Linux环境配置与3D检测可视化实战

1. 环境准备&#xff1a;从零搭建Linux深度学习工作站 第一次在Linux系统上配置深度学习环境时&#xff0c;我盯着命令行界面手足无措的样子还历历在目。现在回想起来&#xff0c;其实只要掌握几个关键步骤&#xff0c;就能快速搭建好PointRCNN所需的运行环境。我们以配备NVIDI…...

Python中缓存入门实战之核心概念与用法详解

缓存是提升程序性能的关键技术——将频繁访问的「计算结果/数据」临时存储在高速介质&#xff08;如内存&#xff09;中&#xff0c;避免重复计算/重复查询&#xff08;如数据库、API&#xff09;&#xff0c;从而大幅降低响应时间。以下是 Python 缓存的入门指南&#xff0c;涵…...

基于Phi-4-mini-reasoning的智能运维异常检测系统

基于Phi-4-mini-reasoning的智能运维异常检测系统 1. 运维监控的痛点与智能化需求 运维团队每天都要面对海量的日志数据、监控指标和系统告警。传统监控系统往往只能做到简单的阈值告警&#xff0c;当系统出现异常时&#xff0c;运维人员需要手动翻阅成千上万条日志&#xff…...

Z-Image-ComfyUI场景应用:为社交媒体快速生成配图,提升内容创作效率

Z-Image-ComfyUI场景应用&#xff1a;为社交媒体快速生成配图&#xff0c;提升内容创作效率 1. 社交媒体内容创作的痛点与解决方案 每天运营社交媒体账号时&#xff0c;你是否也面临这样的困境&#xff1a;精心撰写的文案已经完成&#xff0c;却卡在配图制作环节&#xff1f;…...

SENet实战:如何在PyTorch中实现Squeeze-and-Excitation模块(附完整代码)

PyTorch实战&#xff1a;手把手实现SENet中的SE模块 在计算机视觉领域&#xff0c;注意力机制已经成为提升模型性能的重要工具。今天我们将深入探讨如何在PyTorch中实现Squeeze-and-Excitation&#xff08;SE&#xff09;模块——这个让ResNet-50在ImageNet上表现接近ResNet-10…...

Halcon清晰度检测实战:5种算法全解析,手把手教你选出最清晰的PCB图像

Halcon清晰度检测实战&#xff1a;5种算法全解析&#xff0c;手把手教你选出最清晰的PCB图像 在工业视觉检测领域&#xff0c;PCB板的图像清晰度直接影响缺陷检测的准确率。当相机对焦不准确或存在景深限制时&#xff0c;如何从多张候选图像中自动选择最清晰的一张&#xff0c;…...