首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将大量的ish常量列表导出到Lua状态。

将大量的ish常量列表导出到Lua状态。
EN

Stack Overflow用户
提问于 2012-07-23 08:57:34
回答 2查看 771关注 0票数 1

使用C(99),我有一个从Lua脚本加载Lua表的游戏。

在技术方面没有问题,所有的工作都是按计划进行的。但是,C核心使用了许多常量来定义项类型等等。该脚本实际上提供了要加载的武器数据,并且应该使用相同的常量名称/值来澄清。在C中,常量是像#define ITEM_TYPE_EDIBLE 2这样的东西。

因此,我的问题是:如何从C向Lua导出一个长整数列表(~300定义)?多个脚本应该使用该列表,虽然内存中的大小并不是真正需要考虑的问题,但我主要是为了方便起见。

我想过这些可能的解决方案,但不确定哪一种从长远来看会更好:

  • ( A)在Lua状态中手动创建一个嵌套表,处理所需的脚本。
  • B)手动创建包含常量的lua脚本,并将其导入每个使用常量的脚本中。

那么,你认为最方便的方法是什么呢?因为,方便更新和使用在Lua方面的东西,所以mods可以很容易地写出来。项目加载全部是在启动时完成的,所以如果不是一种超快的方法(比如,它不会延迟操作,只是启动时间),这并不重要。

哦,我正在使用Lua5.1,但不反对使用5.2,如果它使我的任务变得更容易。如果可能,也不反对以编程方式更新列表。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-23 16:22:51

  • ( A)在Lua状态中手动创建一个嵌套表,处理所需的脚本。
  • B)手动创建包含常量的lua脚本,并将其导入每个使用常量的脚本中。

你忘了:

  • ( C)手动创建包含常量的Lua脚本,然后当我创建lua_State时,立即导入它。这样,每个使用它们的脚本都可以假定它已经被导入。

实际上,我通常会将此脚本放入可执行文件本身或可执行文件加载的特殊文件中。

票数 0
EN

Stack Overflow用户

发布于 2012-07-23 12:29:42

我编写了一个脚本,它生成一个C头,其所有整数常量都设置为enum。另一个C文件的函数可以通过添加所有这些常量的表,或者作为预定义的数字变量在全局范围中单独添加,从而改变Lua状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11609305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档