Lua常用C API与C/C++交互

这篇具有很好参考价值的文章主要介绍了Lua常用C API与C/C++交互。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、常用的 C API

1、基础概念

1. states

Lua连接库是完全可重入的,因为它没有全局变量。Lua解释器的整个state(如全局变量、堆栈等)都存储在一个结构类型为Lua_State动态分配的对象里。指向这一对象的指针必须作为第一个参数传递给所有连接库的API,除了用来生成一个Lua state的函数——lua_open。在调用所有的API函数之前,你必须先用lua_open以生成一个state:

lua_State* lua_open(void);

可以通过调用lua_close来释放一个通过lua_open生成的state:

void lua_close (lua_State *L);

这一函数销毁给定的Lua_State中的所有对象并释放state所占用的动态内存(如果有必要的话将通过调用对应的垃圾收集元方法来完成),在某些平台上,你不必调用这个函数,因为当宿主程序退出时会释放所有的资源,换句话说,长期运行的程序,如守护进程或web服务器,应尽快释放state所占的资源,以避免其过于庞大。

2. 堆栈与索引

Lua使用虚拟堆栈机制和C程序互相传值,所有的堆栈中的元素都可以看作一个Lua值(如nil, number, string等)。

当Lua调用C函数时,被调用的C函数将得到一个新的堆栈。这一堆栈与之前调用此函数的堆栈无关,也有其它C函数的堆栈无关。这一新的堆栈用调用C函数要用到的参数初始化,同时,这一堆栈也被用以返回函数调用结果。

为了便于操作,在API的中大量操作都并不依从堆栈文章来源地址https://www.toymoban.com/news/detail-787496.html

到了这里,关于Lua常用C API与C/C++交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络设备的分类和功能、机柜布局、网络设备安装

    1、网络传输介质互联设备 2、网络物理层互联设备 3、数据链路层互联设备 4、网络层互联设备 5、应用层互联设备 中继器是局域网互连的最简单设备,它工作在OSI体系结构的物理层,它接收并识别网络信号,然后再生信号并将其发送到网络的其他分支上。要保证中继器能够正

    2024年01月20日
    浏览(44)
  • 网络设备和网络软件

    网络接口卡又称网络适配器,简称网卡。网卡完成物理层和数据链路层的大部分功能,包括网卡与网络电缆的物理连接、介质访问控制、数据帧的拆装、帧的发送与接收、错误校验、数据信号的编解码、数据的串并行转换等功能。网卡就像一个装卸货的小码头,负责计算机和

    2024年02月22日
    浏览(48)
  • 电脑/设备网络共享给其他设备上网

    现在有如下几种情况: 设备本身不能上网,需要通过电脑上网 笔记本WIFI连热点上网,然后设置网络共享;设备配同网段IP、 网关配电脑的IP。 手机USB网络共享 A设备本身能上网,电脑/其他设备需要通过设备上网 A设备SIM卡上报,其他电脑设备通过连接A的WIFI上网 A设备SIM卡上

    2024年01月22日
    浏览(47)
  • 3.1 计算机网络和网络设备

    数据参考:CISP官方  目录 计算机网络基础 网络互联设备 网络传输介质         1946年2月14日,宾夕法尼亚大学诞生了世 界上第一台计算机 ,名为电子数字积分计算机(ENIAC)。这台计算机主要被美国国防部用于弹道计算。尽管ENIAC体积庞大、功耗高、发热也高,但 它的

    2024年02月13日
    浏览(43)
  • 网络安全笔记(一)网络安全设备

    目录    0x01 CIA    0x02 拒绝服务攻击    0x03 缓冲区溢出    0x04 勒索病毒    0x05 传统防火墙(包过滤防火墙)    0x06 传统防火墙(应用代理防火墙)    0x07 传统防火墙(状态检测防火墙)    0x08 攻击流量监控(IDS)——网络摄像头    0x09 入侵防御系统(

    2024年02月05日
    浏览(52)
  • 【等级保护测试】安全计算环境-网络设备、安全设备-思维导图

    网络设备-路由器-身份鉴别 1)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。 2)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退岀等相关措施。 3)当进行远程管理时,应釆

    2024年01月23日
    浏览(52)
  • 网络设备端口别名设置

    网络设备端口通常使用数字编号,如FastEthernet 0/1,GigabitEthernet 1/0/1等。这些数字表示方法虽然清晰准确,但当管理大量网络设备和端口时,数字表示法的可读性会变差,并不利于记忆。 端口别名可以为端口设置一个自定义的别名,使用户更易识别和记住各端口的连接情况。主流网络

    2024年02月06日
    浏览(57)
  • 常见网络设备安全特性详解

    常见设备安全加固策略: 1.关闭不使用的业务端口 2.废弃不安全的访问通道:在存在多种访问通道服务下,废弃不安全的访问通道,优选安全的访问通道 常用到的SSH协议(安全外壳协议): 在非安全网络上提供了安全的远程登录、安全文件传输以及TCP/IP安全隧道。不仅在登陆过

    2024年03月20日
    浏览(48)
  • eNSP中部署网络设备

    在左侧可供选择的网络设备区选择型号为AR2220的路由器,将图标拖至工作区中即可添加一台路由器,点击该路由器名字,将路由器命名为R-1。 右键点击路由器,选择设置。默认情况下,路由器的接收数量有限,eNSP提供了一种便捷的为设备增加接口卡的操作。设备电源处于关

    2024年02月09日
    浏览(44)
  • 虚拟网络设备与网络安全:深入分析与实践应用

    在数字化时代📲,网络安全🔒成为了企业和个人防御体系中不可或缺的一部分。随着网络攻击的日益复杂和频繁🔥,传统的物理网络安全措施已经无法满足快速发展的需求。虚拟网络设备🖧,作为网络架构中的重要组成部分,通过提供灵活的配置和强大的隔离能力🛡️,

    2024年04月10日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包