``达夫设备" (Duff's Device)是什么?
这是个很棒的迂回循环展开法, 由 Tom Duff 在 Lucasfilm 时所设计。 它的 ``传统" 形态, 是用来复制多个字节:
这里 count 个字节从 from 指向的数组复制到 to 指向的 内存地址 (这是个内存映射的输出寄存器, 这也是为什么它没有被增加)。它把 swtich 语句和复制 8 个字节的循环交织在一起, 从而解决了剩余字节的 处理问题 (当 count 不是 8 的倍数时)。相信不相信, 象这样的把 case 标志放在嵌套在 swtich 语句内的模块中是合法的。 当他公布这个技巧给 C 的开发者和世界时, Duff 注意到 C 的 swtich 语法, 特别是 跌落" 行为, 一直是被争议的, 而
这段代码在争论中形成了某种 论据, 但我不清楚是赞成还是反对"。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。