社区
杨振的课程社区_NO_1
Lua语言从入门到精通
帖子详情
C语言操作Lua中的全局变量
萌谷王
2023-01-12 21:43:59
课时名称
课时知识点
C语言操作Lua中的全局变量
...全文
100
回复
打赏
收藏
C语言操作Lua中的全局变量
课时名称课时知识点C语言操作Lua中的全局变量
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lua
与C\C++语言的交互-C调用
Lua
前言 首先需要明白的是 C与
Lua
的虚拟堆栈。 引用
Lua
官方的解释: The Stack
Lua
uses a virtual stack to pass values to and from C. Each element in this stack represents a
Lua
value (nil, number
lua
和 c
lua
程序其实本身并不能执行,它必须依靠
c语言
编写的解释器来解释执行,或者说解释器为
lua
脚本的执行,提供了一个运行环境(
lua
_state),其
中
包括函数堆栈,内存分配和回收等机制。 理论上,
lua
可以使用c提供的功能,如果需要在
lua
中
使用我们特需的功能,我们可以通过编写自己的c库来进行扩展,当然,c也可以通过
操作
栈的方式来
操作
lua
,这就是
lua
的强大之处。 在c
中
通过l...
Lua
和
C语言
的交互(一)
Lua
生来就是为了和C交互的,因此使用C扩展
Lua
或者将
Lua
嵌入到C当
中
都是非常流行的做法。要想理解C和
Lua
的交互方式,首先要回顾一下
C语言
是如何处理函数参数的。 C函数和参数 大家知道
C语言
是用汇编实现的,在汇编语言
中
可没有函数的概念,与函数对应的是叫做子过程的东西,子过程就是一段指令,一个子过程与它调用的子过程之间通过栈来进行参数的传递交互。在一个子过程在调用别的子过程之前,会按照
lua
与c之间交互详解(二)
本篇主要讲解下c如何调用
Lua
的,即c作为宿主语言,
Lua
为附加语言。c和
Lua
之间是通过
Lua
堆栈交互的,基本流程是:把元素入栈——从栈
中
弹出元素——处理——把结果入栈。关于
Lua
堆栈介绍以及
Lua
如何调用c参考其他两篇。 加载运行
Lua
脚本 通过
lua
L_newstate()创建一个状态机L,c与
Lua
之间交互的api的第一个参数几乎都是L,是因为可以创建多个状态机,调用api需指定在哪个状态机上
操作
。
lua
_close(L)关闭状态机。 复制代码 int main(int argc, char *
Lua
与C通信——
Lua
API(一)
Lua
由
C语言
实现的嵌入式语言。C Api是一组能使C代码和
Lua
交互的函数。其
中
包括读写
Lua
全局变量
、调用
Lua
函数、执行
Lua
代码,以及注册C函数以供
Lua
代码调用。
lua
_State *L =
lua
L_newstate(); /*打开
Lua
*/
lua
L_openlibs(L); /*打开标准库*/
lua
_pop(L, 1); /*从栈
中
弹出错误消息
杨振的课程社区_NO_1
1
社区成员
421
社区内容
发帖
与我相关
我的任务
杨振的课程社区_NO_1
强力吉他手
复制链接
扫一扫
分享
社区描述
强力吉他手
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章