zhiji 发表于 2016-7-11 18:52:13

指针拷贝 和 索引拷贝 在执行效率上能有多大区别.

//A[] = B[]
for (unsigned i=0; i<100; i++) A = B;

or

for (unsigned i=0; i<100; i++) *A++ = *B++;

为了榨干每个CPU脉冲的执行效率.

zhouguang 发表于 2016-7-13 11:33:15

弱问一嘴,为什么不用memmove之类的系统调用呢?

wayne 发表于 2016-7-13 20:06:01

首先,就例子来说,内存块的拷贝用memcpy效率高一些
其次,就问题本身而言,楼主纠结的应该是 指针操作符 跟 下标操作符的效率 问题。这个硬要深入追下去,对应到汇编代码对于我等之辈也不一定能看出效率来,应该是编译器相关的。不过咱们论坛有很多这方面的高手...

mathe 发表于 2016-7-13 21:06:59

对现在的编译器,两者完全没有区别

zhiji 发表于 2016-7-17 21:29:06

谢谢大家,我以为 memcpy() 操作的是字节.如果我拷贝的是 DWROD 数组,那岂不是...

如果CPU有专门的 拷贝指令 就用 memcpy().
页: [1]
查看完整版本: 指针拷贝 和 索引拷贝 在执行效率上能有多大区别.