开发者社区> 问答> 正文

``达夫设备" (Duff's Device)是什么?

``达夫设备" (Duff's Device)是什么?

展开
收起
游客py5kcp7dd6tu6 2022-03-30 08:13:36 538 0
1 条回答
写回答
取消 提交回答
  • 这是个很棒的迂回循环展开法, 由 Tom Duff 在 Lucasfilm 时所设计。 它的 ``传统" 形态, 是用来复制多个字节:

    图片.png

    这里 count 个字节从 from 指向的数组复制到 to 指向的 内存地址 (这是个内存映射的输出寄存器, 这也是为什么它没有被增加)。它把 swtich 语句和复制 8 个字节的循环交织在一起, 从而解决了剩余字节的 处理问题 (当 count 不是 8 的倍数时)。相信不相信, 象这样的把 case 标志放在嵌套在 swtich 语句内的模块中是合法的。 当他公布这个技巧给 C 的开发者和世界时, Duff 注意到 C 的 swtich 语法, 特别是 跌落" 行为, 一直是被争议的, 而这段代码在争论中形成了某种 论据, 但我不清楚是赞成还是反对"。

    2022-03-30 08:14:10
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Hardware-With-A-$10-SD-Card-Reader 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载