【发布时间】:2013-08-20 08:43:38
【问题描述】:
是否有任何理由在 Linux 环境中使用非标准的 bzero() 和 bcopy() 而不是 memset() 和 memcpy()?我听到很多人说它们更适合 Linux 编译器,但没有看到比标准函数有任何优势。
它们是否比标准的更优化,或者它们是否有任何偏好的行为特殊性?
【问题讨论】:
-
只有一个地方
bzero比memset“更好”:即使在每个参数都需要的架构上,你也可以从一个只需要两个参数的函数尾调用bzero一个堆栈槽。至于bcopy,我相信它类似于memmove,而不是memcpy。 -
bcmp(), bcopy(), bzero(), ffs()不推荐用于重视可移植性的新应用程序,它们仅用于 BSD 应用程序的可移植性。 -
@Grijesh 我知道他们在做什么,我想知道在更深层次上是否有什么特别之处