什么时候用系统调用,什么时候用库函数?
linux下有许多系统调用和c库函数提供的功能一样,什么时候该用系统调用,什么时候该用库函数?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
linux下有许多系统调用和c库函数提供的功能一样,什么时候该用系统调用,什么时候该用库函数?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
除非 libc 有已知的未修复的问题,或者你能比写 libc 的人更聪明,或者你的环境有某些特殊性,否则不要做这样的假设,认为自己可以比 libc 实现得更好。
使用哪个取决于具体环境,要求、编程习惯等。譬如我很不习惯 FILE *,所以还是自己 read / write
对于输入输出的缓冲问题,可以自己解决;C库本身就是对系统调用的封装,所以理论上慢。
我个人认为库调用通过缓存再调用了系统调用 .所以库调用 要快
系统调用和库函数都提供接口的部分,用系统调用比较快,个人意见。
我也有类似的问题,在这里问一下,
库函数是在编译的时候链接的,
那么系统调用是不是不用链接?
那么编译和调用的时候系统调用的库函数有什么区别吗?
libc 就是靠着系统调用来实现一些库函数的