当前位置: 首页 > 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 …...

三分钟永久备份QQ空间:让青春记忆永不褪色的终极方案

三分钟永久备份QQ空间&#xff1a;让青春记忆永不褪色的终极方案 【免费下载链接】QZoneExport QQ空间导出助手&#xff0c;用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件&#xff0c;便于迁移与保存 项目地址: https://…...

glTF-Transform:现代3D应用中的glTF模型优化与处理实战指南

glTF-Transform&#xff1a;现代3D应用中的glTF模型优化与处理实战指南 【免费下载链接】glTF-Transform glTF 2.0 SDK for JavaScript and TypeScript, on Web and Node.js. 项目地址: https://gitcode.com/gh_mirrors/gl/glTF-Transform 在当今的3D应用开发中&#xf…...

SQLite Viewer:3分钟学会在线查看SQLite数据库的终极方案

SQLite Viewer&#xff1a;3分钟学会在线查看SQLite数据库的终极方案 【免费下载链接】sqlite-viewer View SQLite file online 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-viewer 想象一下&#xff0c;你收到一个SQLite数据库文件&#xff0c;需要立即查看其…...

GitHub中文插件:打破语言壁垒,让代码世界更亲切

GitHub中文插件&#xff1a;打破语言壁垒&#xff0c;让代码世界更亲切 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 你是否曾因Git…...

如何快速掌握拯救者工具箱:联想笔记本性能调校终极指南

如何快速掌握拯救者工具箱&#xff1a;联想笔记本性能调校终极指南 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 还在为联…...

Rust技术周刊 2026年第16周

阅读原文: https://mp.weixin.qq.com/s/9en-gxsNB544aG6hgkwJVQ 本周 Rust 生态亮点&#xff1a;GPU 计算突破&#xff08;KAIO 达 cuBLAS 92.5%、flodl 多 GPU 训练&#xff09;&#xff0c;Tokio 异步优化实战频出&#xff0c;扩展标准库路线图发布&#xff0c;Rust 进入 Pix…...

F1C100s移植LVGL 8.2避坑指南:从Makefile修改到双缓冲配置

F1C100s移植LVGL 8.2实战手册&#xff1a;从编译优化到显示性能调优 在嵌入式Linux系统开发中&#xff0c;图形用户界面(GUI)的实现往往是最具挑战性的环节之一。对于资源受限的全志F1C100s芯片而言&#xff0c;如何在有限的RAM和CPU性能下实现流畅的图形交互&#xff0c;LVGL(…...

深度学习工程化实战:从论文思想到可部署代码的七步法

1. 项目概述&#xff1a;这不是一份“论文清单”&#xff0c;而是一份深度学习演进的实操路线图你有没有过这种感觉&#xff1a;打开一篇讲“深度学习里程碑论文”的文章&#xff0c;满屏都是《AlexNet》《ResNet》《Transformer》这些名字&#xff0c;配着几句“开创性”“革命…...

设计师私藏的11个纹理Prompt原子模块(仅限本周开放下载:含PBR贴图映射表+光照反射系数速查卡)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;纹理Prompt原子模块的设计哲学与底层逻辑 纹理Prompt原子模块并非简单拼接关键词的字符串生成器&#xff0c;而是以认知建模为根基、以可组合性为约束、以语义保真度为校验目标的结构化表达系统。其设计…...

408 每日一题 Day 2:二叉树的重构与遍历

一、题目描述 已知一棵二叉树的前序遍历序列为 ABDECFG&#xff0c;中序遍历序列为 DBEAFCG&#xff0c;则该二叉树的后序遍历序列是&#xff1f; A. DEBFGCAB. DEBFCGAC. DEBFGACD. DEBFAGC 二、考点分析项目内容核心知识点二叉树的遍历、根据遍历序列重构二叉树难度⭐⭐⭐408…...