c - 上面的 C 代码有效吗?

标签 c

我在大学的一次编程竞赛中被问到这个问题......

void duff(register char *to, register char *from, register int count)
  {
      register int n=(count+7)/8;
      switch(count%8){
      case 0: do{ *to++ = *from++;
      case 7:  *to++ = *from++;
      case 6: *to++ = *from++;
      case 5: *to++ = *from++;
      case 4: *to++ = *from++;
      case 3: *to++ = *from++;
      case 2: *to++ = *from++;
      case 1: *to++ = *from++;
              }while( --n >0);
      }
  }

上面的 C 代码有效吗?如果是这样,它想要实现什么目的以及为什么有人会做上述事情?

最佳答案

是的,它被称为达夫的设备。

据我所知,它是由为电影(星球大战或类似的东西)做特效的人写的。采用这种方式编写是为了获得最大性能。

但是,我是否建议编写这样的代码:不。

保持代码的可读性!

关于c - 上面的 C 代码有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6368301/

相关文章:

c - c中的json相似对象

c - cmp引起的段错误

c - 查找文件中大写和小写字符的频率 c 程序

c - 为什么 strcpy 向变量复制的字符比预期的多?

java - 为什么编译的 Java 类文件比 C 编译的文件小?

取消 getchar()

c - Ruby (2.0) c 扩展从 c 函数返回数组数组

CUDA:查找 100x100 矩阵中的最小值

c++ - 如何从内存中正确读取数据(memcpy)

c++ - 解析包含多行条目的日志文件