当前位置: 技术问答>linux和unix
C库函数和linux系统调用区别
来源: 互联网 发布时间:2016-03-20
本文导语: 我看相关书籍说:库函数比系统调用更快,因为系统调用要发生上下文切换,要从用户态转到核心态执行,所以会影响速度! 但是现在我就不解了,很多库函数不是通过调用系统调用来完成的吗?那库函数也有上下...
我看相关书籍说:库函数比系统调用更快,因为系统调用要发生上下文切换,要从用户态转到核心态执行,所以会影响速度!
但是现在我就不解了,很多库函数不是通过调用系统调用来完成的吗?那库函数也有上下文切换的开销呀?为什么就不影响速度呢?
请高手们详细讲解下两者的区别 谢谢了
但是现在我就不解了,很多库函数不是通过调用系统调用来完成的吗?那库函数也有上下文切换的开销呀?为什么就不影响速度呢?
请高手们详细讲解下两者的区别 谢谢了
|
http://blog.chinaunix.net/u2/63316/showart_613699.html
|
有的库函数不会进入系统核心态啊。那样就快了。
如果需要系统调用,那肯定是一样的。
但是所有的系统调用,都会进入系统核心。
所以,一般尽量使用库函数。
如果需要系统调用,那肯定是一样的。
但是所有的系统调用,都会进入系统核心。
所以,一般尽量使用库函数。
|
库函数和你写的函数没有什么区别
系统调用会使用中断例程
系统调用会使用中断例程
|
这种说法本来就有问题。举例说明吧。
open是系统调用;
fopen是库函数,但最终会调用open;
strcpy是库函数,没有调用任何系统调用;
要访问设备(文件,终端),必定要涉及系统调用。