首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Luac不能使用一个脚本

Luac不能使用一个脚本
EN

Stack Overflow用户
提问于 2014-07-28 12:38:57
回答 1查看 465关注 0票数 2

我嵌入了lua,我想要预编译我的脚本。为此,我调用luac的主文件(使用argc,文件数为1)。我的问题在于卢阿茨的作用。我不明白变量i的用法,因为当我使用一个脚本时。doargs函数后的I值为1,主函数为argc -= i。所以argc =0,我有一个错误“没有文件”。知道吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-28 13:43:40

luac是用来编译.lua文件的命令行实用工具。这种预期的使用是导致错误的原因。

启动可执行文件时,操作系统将程序的名称作为其第一个参数(argv[0])传递。luac主函数假定操作系统正在调用它,因此它希望始终至少有一个参数,并且它的argv[0]将是可执行文件的名称。

出于这个原因,doargs在1开始其For循环,并将始终忽略第一个(第0)参数。它返回处理了多少个选项,这也是argv数组中第一个文件名的偏移量。main函数使用它来了解文件列表的起始位置。

如果您真的想使用main函数预编译脚本,那么在参数数组的开头提供一个额外的虚拟参数,然后列出您的文件。最好使用命令行中的luac,并提供一个输出文件,其中预编译脚本将按如下方式存储:

luac -o outputFile script.lua

或者,看一看用于纯Lua解决方案的Lua (编译、执行和错误)编程的第8章,或用于C解决方案的参考手册中的luaL_dofileluaL_dostringlua_dumplua_load函数。

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

https://stackoverflow.com/questions/24995442

复制
相关文章

相似问题

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