C标准库函数和Linux系统函数的联系
C标准IO函数调用流程
C库IO函数提供了缓冲区,而系统IO函数没有缓冲区
结论
从上面两张图可以看出,C标准库函数属于上层调用,最终还是通过调用Linux系统函数来实现,因此使用标准库函数编写的程序可以跨平台,而底层调用是与平台相关,Linux调用属于Linux的系统函数,windows调用windows的系统函数。
区分
区分一个函数是系统函数还是库函数依据:
- 是否访问内核数据结构
- 是否访问外部硬件资源
二者有任一就是系统函数,二者均无就是库函数