gpt4 book ai didi

c++ - MSVC : Invalid memcpy optimization?

转载 作者:行者123 更新时间:2023-12-03 06:49:05 26 4
gpt4 key购买 nike

考虑以下代码:

void MemMove8(void* dst, void* src)
{
char tmp[8];
memcpy(tmp, src, 8);
memcpy(dst, tmp, 8);
}
MSVC (16.7.1) x86 with/O2 为此函数生成以下程序集:
; _dst$ = ecx
; _src$ = edx
mov eax, DWORD PTR [edx]
mov DWORD PTR [ecx], eax
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [ecx+4], eax
但如果输入和输出缓冲区重叠,这将不起作用(在某些情况下)。
生成的代码对我来说似乎是错误的;或者这是一个有效的转换,我在这里遗漏了什么?

最佳答案

关于c++ - MSVC : Invalid memcpy optimization?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63435484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com