什么是Forth中的memset

  • 本文关键字:中的 memset Forth forth
  • 更新时间 :
  • 英文 :


如果我需要用一个值填充一个数组,是否有一个典型的Forth字可以做一些类似于C中的memset的事情(即将字节区域设置为特定值(?

在Forth标准中,初始化原始内存的单词是ERASE,它在Core Extensions单词集中:

ERASE(addru--(
如果u大于零,则清除从address开始的每个u-连续地址单元中的所有位。

ERASE,顾名思义,只清除/归零内存。

核心字集中还有FILL,用于设置连续字符:

FILL(c-addruchar--(
如果u大于零,则将char存储在从c-addr开始的存储器的每个u-连续字符中。

但是,标准不要求字符大小为一个地址单位。

如果您只想将地址单位范围设置为零以外的值,那么这实际上不是一个可移植或符合标准的操作,所以如果您的地址单位与字符大小相同(就像大多数Forths中一样(,请使用FILL

该标准还在字符串字集中提供BLANK,用于将字符串设置为空格:

BLANK(c-addru--(
如果u大于零,则将空格的字符值存储在u-addr开始的连续字符位置中。

相关内容

  • 没有找到相关文章

最新更新