在C中获取Lua表大小

2023-12-25

如何在 C 中获取 Lua 表的大小?

static int lstage_build_polling_table (lua_State * L) {
    lua_settop(L, 1);
    luaL_checktype(L, 1, LUA_TTABLE);
    lua_objlen(L,1);
    int len = lua_tointeger(L,1);
    printf("%d\n",len);
    ...
}

我的Lua代码:

local stages = {}
stages[1] = stage1
stages[2] = stage2
stages[3] = stage3

lstage.buildpollingtable(stages)

它总是打印 0。我究竟做错了什么?


lua_objlen返回对象的长度,它不会将任何内容压入堆栈。

即使它确实在堆栈上推送了一些东西lua_tointeger调用使用的是表的索引而不是其他任何内容lua_objlen会压入堆栈(如果它首先压入任何东西,但事实并非如此)。

你要size_t len = lua_objlen(L,1);对于 lua 5.1。

Or size_t len = lua_rawlen(L,1);对于 lua 5.2。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在C中获取Lua表大小 的相关文章

  • DispatcherTimer 未按时执行

    我正在使用 c 中的 DispatchTimer 编写一个时钟应用程序 但由于某些原因 我的时钟似乎时不时地跳过 1 秒 例如 52 秒 gt 54 秒 跳过 53 秒 在我看来 计时器并不是每秒都执行一次 DispatcherTimer
  • 必须打开存储才能执行此操作 - System.IO.Packaging.Package

    我正在使用 System IO Packaing Package 类来压缩文件 我的应用程序的多个实例可以同时运行 并读取和保存文件 当处理小文件时 一切似乎都很好 但是当涉及大文件时 如果应用程序的两个实例同时保存 我会收到一个异常 消息
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 使用不带参数的 Split() 时,默认分隔符是什么?

    所以我看了看String Split 今天 C 中的方法 我意识到你也可以向它传递零参数 这是我从未考虑过的 使用时默认的分隔符是什么Split 没有任何参数 如果没有值 则为空白 来源自here https msdn microsoft
  • 为什么派生类不使用基类的operator=(赋值运算符)?

    以下是实际问题的简化版本 而不是打电话Base operator int 代码似乎生成了一个临时的Derived对象并复制它 既然函数签名似乎完美匹配 为什么不使用基本赋值运算符 这个简化的示例没有显示任何不良影响 但原始代码在析构函数中有
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 通过引用传递时取消引用指针

    当通过引用传递给函数时取消引用指针时会发生什么 这是一个简单的例子 int returnSame int example return example int main int inum 3 int pinum inum std cout
  • F10键没被抓住

    I have a Windows Form and there overriden ProcessCmdKey However this works with all of the F Keys except for F10 I am tr
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • `cosf`、`sinf` 等不在 `std` 中 [重复]

    这个问题在这里已经有答案了 根据这里的讨论 我有报告了一个错误 https bugs launchpad net ubuntu source gcc 8 bug 1831385给 Ubuntu 开发者 编译以下示例 C 程序时 includ
  • Dynamics Crm:获取状态代码/状态代码映射的元数据

    在 Dynamics CRM 2011 中 在事件实体上 状态原因 选项集 也称为状态代码 与 状态 选项集 也称为状态代码 相关 例如看这个截图 当我使用 API 检索状态原因选项集时 如下所示 RetrieveAttributeRequ
  • C++ 标准中短语“构造函数没有名称”的含义

    在尝试理解 C 标准中的 构造函数没有名称 这句话时 我似乎在 clang 中发现了一个错误 有人可以证实这一点吗 VS2015 and gcc rejects this code and I think they it are is co
  • 展开路径中具有环境变量的文件名

    最好的扩张方式是什么 MyPath filename txt to home user filename txt or MyPath filename txt to c Documents and settings user filenam
  • 为什么C语言中可以使用多个分号?

    在 C 中我可以执行以下操作 int main printf HELLO WORLD 它有效 这是为什么 我个人的想法 分号是一个 NO OPERATION 来自维基百科 指示符 拥有一大串分号与拥有一个分号并告诉 C 语句已结束具有相同的
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • c# 替代方案中 cfusion_encrypt 中填充的密钥是什么?

    我找到了从这里复制 C 中的 cfusion encrypt 函数的答案 ColdFusion cfusion encrypt 和 cfusion decrypt C 替代方案 https stackoverflow com questio

随机推荐

  • 文本环绕绝对定位的 div

    我知道有一些关于类似主题的问题 但它们主要涉及浮动 div 图像 我需要将图像 和 div 绝对定位 向右 但我只想让文本围绕它流动 如果我浮动 div 它会起作用 但我无法将其放置在我想要的位置 因为文本只是在图片后面流动 div cla
  • Ruby:将嵌套 Ruby 哈希转换为非嵌套哈希

    现在 我有一个服务器调用返回以下 Ruby 哈希值 id gt ct factualId gt outOfBusiness gt false publishedAt gt 2012 03 09 11 02 01 general gt nam
  • 为什么MIPS汇编器有多个寄存器用于返回值?

    我刚刚开始学习MIPS汇编程序并意识到有两个寄存器 http en wikipedia org wiki MIPS architecture Compiler register usage用于返回值 首先 我认为它的实现是因为有些语言可能返
  • 如何删除使用 distutils 安装的程序?

    我已经用这个 setup py 安装了一个 python 应用程序 usr bin env python from distutils core import setup from libyouandme import APP NAME A
  • 将 JPanel 导出到图像

    所以我一直在尝试将在 JPanel 上绘制的图像导出为图像 我一直在使用这个方法 BufferedImage image new BufferedImage getWidth getHeight BufferedImage TYPE INT
  • MySQL 表作为 FIFO/队列

    我们如何才能将Mysql表视为有限的FIFO缓冲区 队列 目标是 该表一次只能有 N 行 当插入一行时 应删除最旧的行以保持行数为 N 请建议方法 UPDATE 抱歉 伙计们 正如很多人指出的那样 我将问题从 STACK 更改为 FIFO
  • Maven 和 Jenkinsfile - 跳过前面的阶段

    我正在探索 Jenkins 的暂存功能 我想设计一个快速且精益的设置 基本上 Jenkins 提倡使用阶段来划分构建过程 并提供有关构建进度的良好视觉反馈 So the Jenkinsfile有点像 stage Build bat mvn
  • 如何将 HTML NSData 转换为 NSString?

    我在用着 NSData dataWithContentsOfURL 创建两个 NSData 实例 我想比较这些实例以了解它们的不同之处 由于它们都来自同一个网站 因此使用字符串查找不同之处将帮助我突出显示已更改的实际元素 是否可以将这些数据
  • Hibernate EnVers 中的 @NotAudited 和 RelationTargetAuditMode.NOT_AUDITED 有什么区别?

    NotAudited Audited targetAuditMode RelationTargetAuditMode NOT AUDITED OneToMany mappedBy booking OrderBy bookingOrder p
  • Django Rest框架,将api响应Content-Encoding设置为gzip

    我正在开发 django 项目 当其他服务器通过 api 调用请求某些数据时 该项目充当其他服务器的分发服务器 该数据采用 JSON 形式 并且非常大 所以我在想有没有什么方法可以设置我的 DRF APIView 响应来提供输出的 JSON
  • 使用 django Rest Framework jwt 将信息添加到 JWT 令牌主体

    我使用 django Rest Framework 和 djangorestframework jwt 包来创建 JWT 令牌以进行授权 在前端 我可以解码令牌并获取用户名 电子邮件和 user id 不过我想检索一些额外的信息 例如 如果
  • SQL 条件相交

    我想知道我们是否可以做相交条件 有一些查询 但结果是错误的 始终为空 我写下它应该产生的结果 DECLARE CAN USE TABLE1 BIT DECLARE CAN USE TABLE2 BIT DECLARE CAN USE TAB
  • 我们如何从布局中删除动态添加的片段

    谁能帮我 我有一个片段说 FRAGMENT A 并将其动态添加到布局中 假设我已将 3 个 FRAGMENT A 实例添加到该布局中 那么我如何以编程方式删除该 3 个片段实例 我尝试了谷歌搜索和另一个 stackoverflow线程但它们
  • 为什么归并排序中的归并操作是O(n)?

    对于归并排序分而治之的操作 自下而上的归并阶段需要多少时间 我的老师说它是线性的 因此它将是O n 但我没有明白 它将如何线性化 合并操作如何是线性的O n 两个数组的合并操作 是扫描数组并选择两个数组中的最低 最高 所以你有了 a 1 3
  • Objective-C 中如何返回到之前的视图?

    我是iOS编程的初学者 我想实现返回主视图的功能 我已经使用这个代码 IBAction onclickhome id sender self navigationController popViewControllerAnimated YE
  • 使用事务或 SaveChanges(false) 和 AcceptAllChanges()?

    我一直在调查交易 只要我通过 它们就会在 EF 中自行处理false to SaveChanges 然后打电话AcceptAllChanges 如果没有错误 SaveChanges false AcceptAllChanges 如果出现问题
  • 使用 .append(html) 创建的 jQuery 元素不可用

    我有以下内容 a class map Test a 当我点击 测试 时 我收到一条警报 太棒了 但我也有以下
  • ASP.NET 和 OWIN Cookie Azure Open ID 不起作用

    我尝试使用 OpenID 与 Azure AD 连接 并且使用教程中的确切代码https learn microsoft com en us azure active directory develop tutorial v2 asp we
  • OGNL 语法问题

    我有一个 Struts 2 JSP 页面 其中包含以下代码片段
  • 在C中获取Lua表大小

    如何在 C 中获取 Lua 表的大小 static int lstage build polling table lua State L lua settop L 1 luaL checktype L 1 LUA TTABLE lua ob