程序开发中系统提供哪些常用的函数呢?

程序开发中系统提供哪些常用的函数呢?... 程序开发中系统提供哪些常用的函数呢? 展开
 我来答
重庆新华电脑学校
2022-01-16 · 学动漫、设计、电竞、电商、短视频、软件等
重庆新华电脑学校
重庆新华电脑学校隶属于新华教育集团,经重庆市人力资源和社会保障局审批成立的重庆地区大规模IT人才教育基地。是国家信息化教育全国示范基地,中国IT教育十大影响力品牌学校。
向TA提问
展开全部

常用的函数有很多,比如下面几个非常常用:
void lua_createtable (lua_State *L, int narr, int nrec);
创建一张新的空表压栈。 参数 narr 建议了这张表作为序列使用时会有多少个元素; 参数 nrec 建议了这张表可能拥有多少序列之外的元素。 Lua 会使用这些建议来预分配这张新表。 如果你知道这张表用途的更多信息,预分配可以提高性能。 否则,你可以使用函数 lua_newtab
把函数导出成二进制代码块 。 函数接收栈顶的 Lua 函数做参数, 然后生成它的二进制代码块。 若被导出的东西被再次加载, 加载的结果就相当于原来的函数。 当它在产生代码块的时候, lua_dump 通过调用函数 writer 来写入数据,后面的 data 参数会被传入 writer 。
如果 strip 为真, 二进制代码块将不包含该函数的调试信息。
最后一次由 writer 的返回值将作为这个函数的返回值返回; 0 表示没有错误。
该函数不会把 Lua 函数弹出堆栈
int lua_error (lua_State *L);
以栈顶的值作为错误对象,抛出一个 Lua 错误。 这个函数将做一次长跳转,所以一定不会返回
lua_Alloc lua_getallocf (lua_State *L, void **ud);
返回给定状态机的内存分配器函数。 如果 ud 不是 NULL , Lua 把设置内存分配函数时设置的那个指针置入 *ud 。
lua_getfield
[-0, +1, e]
int lua_getfield (lua_State *L, int index, const char *k);
把 t[k] 的值压栈, 这里的 t 是索引指向的值。 在 Lua 中,这个函数可能触发对应 "index" 事件对应的元方法 。
函数将返回压入值的类型。
lua_getextraspace
[-0, +0, –]
void *lua_getextraspace (lua_State *L);
返回一个 Lua 状态机中关联的内存块指针。 程序可以把这块内存用于任何用途;而 Lua 不会使用它。
每一个新线程都会携带一块内存, 初始化为主线程的这块内存的副本。
默认配置下,这块内存的大小为空指针的大小。 不过你可以重新编译 Lua 设定这块内存不同的大小。

大橘道长
2022-01-16 · 超过107用户采纳过TA的回答
知道小有建树答主
回答量:1171
采纳率:100%
帮助的人:24.5万
展开全部
常用的函数有很多,比如下面几个非常常用:
void lua_createtable (lua_State *L, int narr, int nrec);
创建一张新的空表压栈。 参数 narr 建议了这张表作为序列使用时会有多少个元素; 参数 nrec 建议了这张表可能拥有多少序列之外的元素。 Lua 会使用这些建议来预分配这张新表。 如果你知道这张表用途的更多信息,预分配可以提高性能。 否则,你可以使用函数 lua_newtab
把函数导出成二进制代码块 。 函数接收栈顶的 Lua 函数做参数, 然后生成它的二进制代码块。 若被导出的东西被再次加载, 加载的结果就相当于原来的函数。 当它在产生代码块的时候, lua_dump 通过调用函数 writer 来写入数据,后面的 data 参数会被传入 writer 。
如果 strip 为真, 二进制代码块将不包含该函数的调试信息。
最后一次由 writer 的返回值将作为这个函数的返回值返回; 0 表示没有错误。
该函数不会把 Lua 函数弹出堆栈。
int lua_error (lua_State *L);
以栈顶的值作为错误对象,抛出一个 Lua 错误。 这个函数将做一次长跳转,所以一定不会返回
lua_Alloc lua_getallocf (lua_State *L, void **ud);
返回给定状态机的内存分配器函数。 如果 ud 不是 NULL , Lua 把设置内存分配函数时设置的那个指针置入 *ud 。
lua_getfield
[-0, +1, e]
int lua_getfield (lua_State *L, int index, const char *k);
把 t[k] 的值压栈, 这里的 t 是索引指向的值。 在 Lua 中,这个函数可能触发对应 "index" 事件对应的元方法 。
函数将返回压入值的类型。
lua_getextraspace
[-0, +0, –]
void *lua_getextraspace (lua_State *L);
返回一个 Lua 状态机中关联的内存块指针。 程序可以把这块内存用于任何用途;而 Lua 不会使用它。
每一个新线程都会携带一块内存, 初始化为主线程的这块内存的副本。
默认配置下,这块内存的大小为空指针的大小。 不过你可以重新编译 Lua 设定这块内存不同的大小。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式