当前位置: 首页 > 文档资料 > Swoole 内核开发 >

为什么使用bzero而不是memset

优质
小牛编辑
144浏览
2023-12-01

很多人问了此问题,说bzero已经被posix-2008废弃,为何还使用bzero。选择bzero而不是memset,有2个原因:

  • bzero有2个参数,指针和长度,很明确就是将制定size的内存初始化为0。而memset有3个参数,需要记忆参数的位置,有不少人经常把长度和初始化值搞错。
  • bzero比memset的可读性要好。memset可以制定初始化的值,实际上绝大多数情况都是0。

一旦新版本gcc中移除了bzero,可以通过定义bzero宏,替换为正确的memset写法