首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么要使用bzero而不是memset呢?

为什么要使用bzero而不是memset呢?
EN

Stack Overflow用户
提问于 2013-06-14 05:00:14
回答 3查看 100.5K关注 0票数 175

在上一学期的系统编程课上,我们必须用C语言实现一个基本的客户端/服务器。在初始化结构时,比如sock_addr_in,或者char buffer(我们用来在客户端和服务器之间来回发送数据),教授告诉我们只使用bzero而不是memset来初始化它们。他从来没有解释过为什么,我很好奇这是不是有一个合理的原因?

我在这里看到:http://fdiv.net/2009/01/14/memset-vs-bzero-ultimate-showdownbzero的效率更高,因为它只会清零内存,所以它不需要像memset那样做任何额外的检查。尽管如此,这仍然不一定是绝对不使用memset进行内存清零的理由。

bzero被认为是被弃用的,而且不是标准的C函数。根据手册,由于这个原因,memsetbzero更受欢迎。那么,为什么你还想在memset上使用bzero呢?仅仅是为了提高效率,还是其他原因?同样,与bzero相比,memset有哪些优点使其成为较新程序事实上的首选选项?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17096990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档