【发布时间】:2021-04-11 12:41:49
【问题描述】:
我了解memcpy 和memmove 之间的区别:memmove 处理src 和dst 的重叠。我检查了man page for bcopy,它似乎也可以处理重叠。所以我想知道memmove和bcopy之间有什么区别吗?
【问题讨论】:
-
此函数已弃用(在 POSIX.1-2001 中标记为 LEGACY):在新程序中使用 memcpy(3) 或 memmove(3)。
-
我注意到
memove和memcpy是 C 标准库的一部分,但bcopy是特定于 POSIX 的,因此它在 Windows 等非 POSIX 平台上不可用。 -
您仍然会在旧代码中找到
bcopy、bzero等。 (尤其是出于某种原因的网络代码)。那些已经过去了 Dodo 的方式,现在应该使用mem...()函数。