人才程序员
软件:C/C++ Qt CMake 数据结构 Linux网络。C++Opencv Python 前端(HTML、CSS....) 鸿蒙软件开发ArkTS 硬件:51单片机,esp系列(esp32、esp8266、esp32-s3),stm32、freertos。openharmony。可以带徒弟:C/C++ Python Lua STM32 esp32
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 如何配置 Lua 环境?一步步带你玩转嵌入式脚本语言!
C++ 配置 Lua 其实并不难,理解编译 + 连接机制,加上一点点 C 接口知识,你就可以自由地在 C++ 中调度 Lua 的强大脚本能力啦!这篇文章将手把手教你如何在 C++ 项目中配置 Lua 环境,无论是 Windows 还是 Linux 都能轻松搞定!这样的现代 C++17 封装库来使用 Lua,语法更友好、类型安全,还支持类绑定、闭包、异常等高级功能。想看用 C++ 注册函数给 Lua、或者 Lua 调用 C++ 类的进阶玩法吗?确保你的头文件路径设置正确(包含 lua 源码里的。原创 2025-05-03 18:14:22 · 775 阅读 · 0 评论 -
控制结构:让 Lua 会思考
想学会写出灵活复用的逻辑?等 Lua 的流程控制语法,一起让脚本动起来!🌟 搭配上一节的 table 使用,遍历数据超顺手!有了变量和 table,你可以存数据;是 Lua 的字符串连接符,非常重要!🔁 至少执行一次,再判断是否跳出。,你才能“让 Lua 思考”!原创 2025-05-03 17:48:39 · 358 阅读 · 0 评论 -
协程:Lua 的轻量级多线程神器
协程是一种可以暂停和恢复执行的函数。不像线程那样由系统调度,协程完全由程序员控制切换,因此也被称为协作式多任务。🔁 它可以中断自己(yield),稍后再从中断的地方继续(resume),就像看电视剧时按下了暂停,再继续播放一样 🎬。原创 2025-05-03 18:06:05 · 343 阅读 · 0 评论 -
Lua 与 C 的互操作:让 Lua 与 C 亲密无间
*这样,Lua 就可以控制 C 程序了!**你甚至可以让 Lua 在运行时动态修改 C 程序的行为,想要从 C 与 Lua 交互时,实际上就是。幸运的是,Lua 提供了。C 代码调用 Lua 脚本或单个 Lua 表达式也很简单。Lua 的灵活性和性能已经让我们得到了很多便利,但当你需要。要让 C 函数被 Lua 调用,我们需要将 C 函数。,同时又能保留 Lua 的灵活性与简洁性!这样,C 程序和 Lua 可以轻松互动,等函数将数据推入 Lua 的栈,Lua 中的所有操作,基本都在。原创 2025-05-03 18:13:07 · 734 阅读 · 0 评论 -
表(Table):Lua 的万能结构
正因为 Lua 只有 table,它把所有数据结构的功能都集中在这一种类型上,威力惊人!表既可以是数组📚,又可以是字典🔑,还能模拟面向对象编程!下一节,我们就来看看 Lua 中的控制结构,掌握 if、for、while 的用法,让你的代码动起来!得手动拷贝 🧳,Lua 默认传的是“指针”。在 Lua 里,没有数组、没有对象、没有集合……你可以使用数字、字符串,甚至函数作为键(key)→ 遍历顺序(遇到第一个 nil 就停)我们后面章节会详细讲解,敬请期待~😎。点语法类似对象属性访问,更清爽 👌!原创 2025-05-03 17:31:14 · 394 阅读 · 0 评论 -
Lua 变量与数据类型
age = 30是不是很像 Python?不用写intstring等,Lua 会自动识别。原创 2025-05-03 17:27:06 · 244 阅读 · 0 评论 -
【无标题】
Lua 之所以能成为嵌入式脚本语言界的“超级胶水”,正是因为它提供了一套强大的 C API,让你可以将 Lua 嵌入到你的 C 程序中,或让 C 函数反过来被 Lua 调用,做到无缝集成 ✨🤝。这一节,我们就来了解 Lua C API 的整体结构,看看 Lua 是怎么通过 C 与底层打交道的。原创 2025-05-03 18:19:39 · 342 阅读 · 0 评论 -
2.7 模拟类与对象:Lua 的 OOP 魔法
Person (类)↑| |对象 p1 子类 Student↑对象 s特性描述:new()构造对象 🛠️实现继承 🔗子类:new()基于父类构造,方法可重写 🧬方法共享所有对象共用类中的函数 💾Lua 的面向对象机制,轻巧得像空气,但又足够强大✨。可以说,它是最贴近“原理”的 OOP 之一,非常适合入门也适合深入研究。协程(Coroutine)系统,轻松写出异步逻辑、状态机、调度器…🌀 一场并发的奇幻之旅,即将开启!原创 2025-05-03 17:59:40 · 275 阅读 · 0 评论 -
模块与 `require`:Lua 的代码打包大师
默认搜索路径在-- 添加自定义路径.lua"🔍?.lua表示模块名替换的位置,Lua 会依次查找匹配的文件路径。原创 2025-05-03 17:53:06 · 357 阅读 · 0 评论 -
元表与元方法:唤醒 table 的隐藏能力!
end})魔法方法用途示意 📌__add自定义加法 💥__index字段访问拦截 🔍__newindex字段写入拦截 ✍️__calltable() 被调用 ☎️__tostring自定义print()输出 🎨__eq__lt比较大小逻辑 💡🤹♂️ 学会元表和元方法,就等于掌握了 Lua 的底层魔法系统,是实现类、继承、对象的基础!使用元表模拟类与对象🧱🏛️来见识下 Lua 是如何“不靠类却能玩转面向对象”的吧!🎩✨。原创 2025-05-03 17:55:40 · 304 阅读 · 0 评论 -
【无标题】
模块(module)就是一个 Lua 脚本文件,返回一个 table,对外暴露接口。加载模块用require("模块名"),加载后返回模块 table,就能愉快地调用啦!😎📝注意:模块文件名不能带.lua,默认从里找!功能图示含义📦加载模块(只加载一次)🛡️局部变量保护命名空间🔍模块查找路径🎁模块对外暴露内容模块机制是 Lua 构建大型项目的基础🧱,让代码井井有条、不打架,想复用就复用、想拆就拆,根本停不下来!😎如何与 C/C++ 模块互操作。原创 2025-05-03 18:08:08 · 274 阅读 · 0 评论 -
函数与闭包:Lua 的魔法工坊
")endsayHello() -- 调用函数当然,你也可以像变量一样来定义函数 👇endgreet()原创 2025-05-03 17:50:46 · 39 阅读 · 0 评论 -
Lua 的运行机制
要真正掌握 Lua,就要明白它的底层运行机制。虽然 Lua 语法简单,但它的执行逻辑却非常严谨高效。Lua VM 是 Lua 脚本背后的“执行引擎”,它是一个基于寄存器的虚拟机。也就是说,Lua 并不是靠栈来执行的,而是靠。,不会像某些语言一样突然卡顿 ⏸️,而是像“悄悄打扫卫生的机器人” 🤖 一样在后台默默地清理内存垃圾。你不用手动释放内存,Lua 会在后台定期清理“没人用的变量”。这是一种中间形式,类似“Lua 语言的机器码”。虽然 Lua 是解释执行,但它内部其实会先把脚本。原创 2025-05-03 17:24:49 · 58 阅读 · 0 评论 -
Lua 的特点与优势
Lua 的核心非常小巧,通常只有 200 KB 左右,这使得它非常适合嵌入到资源受限的环境中,比如嵌入式系统、游戏引擎等。其高效的性能得益于 Lua 的虚拟机和垃圾回收机制。它去除了许多复杂的语法规则,避免了过多的关键字和繁琐的语法设计,确保代码更加清晰、易读。使用 Lua 的嵌入式开发者可以通过编写 C/C++ 扩展来实现高效的操作,甚至为 Lua 语言提供自定义的库。例如,你可以通过元表来定义自定义的操作符,修改表的行为,甚至自定义对象的行为,从而使 Lua 具备类似面向对象编程(OOP)的特性。原创 2025-05-03 17:20:47 · 53 阅读 · 0 评论 -
Lua 基础概念
Lua 是一种轻量级的、嵌入式脚本语言,它的设计目标是高效、可扩展,并且简单易学。Lua 诞生于 1993 年,由巴西的 PUC-Rio(里约热内卢天主教大学)开发。与其他脚本语言相比,Lua 特别适合嵌入到应用程序中作为脚本引擎,使得开发者可以动态地扩展和控制程序的功能。原创 2025-05-03 17:19:56 · 54 阅读 · 0 评论