其区别是,RtlCopyMemory非重叠复制,而RtlMoveMemory是重叠复制,具体解释如下: ABCD分别代表三段内存的起始地址和终止地址。如果需要将A到C段的内存复制到B到D段内存上,这是B到C段的内存就是重叠部分。RtlCopyMemory函数的内部实现方法是依靠memcpy函数实现的。根据C99定义,memcpy没有考虑重叠的部分,因此他不能保证重叠...
If you look at the source code (.\crt\string\I386\MEMCPY.ASM) you will see it's the same code. So both of them check for overlap. That's an implementation detail. It just happens that in the Microsoft C runtime, they chose to implement them both using the same function that checks...
Logged #3 July 04, 2014, 04:49:10 PM I was hoping to test the speed of RtlCopyMemory, but in my tests under Windows XP and Windows 7 ntoskrnl.exe did not export the function RtlCopyMemory, but did export the function RtlMoveMemory (along with a long list of other functions). ...