dup(?)是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dup(?)是啥意思?相关的知识,希望对你有一定的参考价值。
问题如上
那问号是什么意思,比如db 5 dup(?)
DUP表示数据重复定义,也就是复制操作数。?表示所定义的变量未指定初值,就是说定义的单元不存新数据。(而是为以后使用做准备,即保留这些单元)
扩展资料:
1、DUP函数功能:数据定义伪指令,它可以按照给定的次数来复制某个(某些)操作数,可以避免多次键入同样一个数据。也就是定义重复的字节、字、双字、结构等内存缓冲区。
2、DUP函数返回值:
成功:dup函数返回当前系统可用的最小整数值。
失败:均返回-1,并设置errno。
注意:通过dup和dup2创建的文件描述符并不继承原文件描述符的属性。比如close-on-exec和non-blocking。
3、举例:
buf1 db 100 dup(?)---------开辟100个字节的内存区
buf2 dw 200 dup(?)--------开辟200个字的内存区
buf3 dd 300 dup(?)--------开辟300个双字的内存区
参考技术A 问号是未初始化,不管它的值,只占用字节-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DUP是数据定义伪指令,它可以按照给定的次数来复制某个(某些)操作数,可以避免多次键入同样一个数据。
例如,把6个12H存入字节中,可以用下面两种方法,用DUP的方法更简便些:
BUF1 db 12h,12h,12h,12h,12h,12h
BUF2 db 6 dup(12h)本回答被提问者采纳 参考技术B 重复,多重的
代码“local a = (...);”是啥意思in a required script 是啥意思?
【中文标题】代码“local a = (...);”是啥意思in a required script 是啥意思?【英文标题】:What does the code "local a = (...);" in a required script mean?代码“local a = (...);”是什么意思in a required script 是什么意思? 【发布时间】:2015-01-03 19:29:04 【问题描述】:在 Lua 文件中,我得到以下代码:
local mod_name = (...);
我尝试了代码print(mod_name)
,得到了文件名"pb"
。
整个脚本由require('pb');
从另一个脚本调用。
我知道(...)
在函数中用于多个参数的含义,但我对此感到困惑。
【问题讨论】:
什么是“module(...);”什么意思? Lua 中的 BTW 分号是可选的。 (在它们分隔标识符和关键字的地方,它们可以用空格代替。) 【参考方案1】:...
表示参数列表,可以是块(例如脚本)或声明为function (named_arg_1, named_arg_2, ...)
或function (...)
的函数。
列表可以连接到列表,如1, 2, ...
或print("args:",...)
。在这些示例中,它用于列表的上下文中。否则,它仅扩展到第一个值。
在local a = (...)
中,由于括号构成表达式,上下文不是列表。因此,它为a
分配了第一个值。
括号似乎是风格的,因为尽管local a = ...
有一个列表上下文,a
仍然被分配了第一个值。其他示例:local a, b = ...
会将第二个值分配给 b
,local a, b = (...)
会将 nil
分配给 b
。
由此可知,module(...)
将模块持有的值作为函数调用,其参数列表从...
列表扩展而来。
【讨论】:
谢谢!脚本是从“require('test');”调用的,没有参数了,“...”怎么能不为nil呢? 因为require
将其参数传递给加载的块。见here。另请注意,后来的 Lua 版本添加了额外的参数,因此最好像这样调用 module
函数:module( (...) )
,这样额外的参数就不会意外传递给 module
。
谢谢!!我已经测试过了,就在我发现我的测试代码中有一些错误之前。谢谢你的帮助!!【参考方案2】:
在脚本的主体中,...
生成脚本的参数。它与arg
表的功能相同,参见Lua Standalone 参考手册。
for _, v in ipairs... do
print(v)
end
例如,如果使用test.lua arg1 arg2
调用它,则会输出:
arg1
arg2
请注意,在您的local mod_name = (...)
中,由于括号,仅保留了第一个元素。
在您的示例中,该脚本是使用 require('pb')
从另一个脚本调用的。在这种情况下,它加载了两个参数,第一个是模块名称'pb'
,第二个取决于require
是如何获取加载器的。详情请阅读require
的手册。
【讨论】:
但在我的例子中,脚本没有参数,只有“require('test');”。所以“...”应该为零,对吧? @RoyHu 为什么不在问题中说明这一点? Create a Minimal, Complete, and Verifiable example. 知道了,非常感谢!以上是关于dup(?)是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章