如果函数的第 arg 个参数是一个 字符串,返回该字符串。 若该参数不存在或是 nil, 返回 d。 除此之外的情况,抛出错误。
返回一段大小为 sz 的空间地址。 你可以将字符串复制其中以加到缓存 B 内 (参见 lu aL_Buffer)。 将字符串复制其中后,你必须调用 luaL_addsize 传入字符串的大小,才会真正把它加入缓存。
针对栈顶的对象,创建并返回一个在索引 t 指向的表中的 引用 (最后会d出栈顶对象)。
此引用是一个唯一的整数键。 只要你不向表链氏 t 手工添加整数键, lu aL_ref 可以保证它返回的键的唯一性。 你可以通过调用 lua_rawgeti(L, t, r) 来找回由 r 引用的对象。 函数 luaL_unref 用来释放一个引用关联的对象
如果栈顶的对象是 nil, l uaL_ref 将返回常量 LUA_REFNIL。 常量 LUA_NOREF 可以保证和 luaL_ref 能返回的其它引用值不同。
用于 lu aL_setfuncs 注册函数的数组类型。 name 指函数名,func 是函数指针。 任何 luaL_Reg 数组必须以一对 name 与 func 皆为 NULL 结束。
如果 modname 不在 package.loaded 中, 则调用函数 openf ,并传入字符串 modname。 将其返回值置入 package.loaded[modname]。 这个行为好似该函数通过 require 调用过一样。
如果 glb 为真, 同时也讲模块设到全局变量 modname 里。
在栈上留下该模块的副本。
把数组 l 中的所有函数 (参见 lu aL_Reg) 注册到栈顶的表中(该表在可选的上值之下,见下面的解说)。
若 nup 不为零, 所有的函数都共享 nup 个上值。 这些值必须在调用之前,压在表之上。 这些值在注册完毕后都会从栈d出。
标准输入输出库中用到的标准文件句柄结构。
文件句柄实现为一个完全用户数据, 其元表被称为 LU A_FILEHANDLE (LU A_FILEHANDLE 是一个代表真正元表的名字的灶唤宽宏)。 这张元表由标准输入输出库(参见 lua L_newmetatable)创建。
用户数据必须以结构 luaL_Stream 开头; 此结构其后可以包含任何其它数据。 f 域指向一个 C 数据流 (如果它为 NULL 表示一个没有创建好的句柄)。 closef 域指向一个在关闭或回收该流时需要调用的 Lua 函数。 该函数将收到一个参数,即文件句柄。 它需要返回 true( *** 作成功)或 nil 加错误消息(出错的时候)。 一旦 Lua 调用过这个域,该域的值就会修改为 NULL 以提示这个句柄已经被关闭了。
API --比如:COM中的IUnkonown。就是一种二进制的表格数据结构。所有调用都是通过机器层面的二进制计算实现的,没有高层语义信息的辅助。因此,客户就在二进制层面上与组件接口耦合起来。2。协议--比如:COM中的IDispatch, web service等。就是文本或二进制形式的数据 。它对客户和组件本身的二进制未作任何约束,仅仅规定了一个数据流的格式规范。无橡唯论以何种语言、何种技术来编写软件实体,只要它能够产生和迹毕理解合法的协议数据流,就可以被视姿如芹为组件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)