linux API,系统调用与libc的关系
- 系统调用是操作系统提供给用户的操作接口
- linux的系统调用一般是通过软中断实现从用户态到内核态的切换
- linux 系统API一般是一个或者多个系统调用的组合实现,需要include <unistd.h>
- 某些C库函数不依赖任何系统调用,比如atoi, strcpy等,无需向内核请求任何资源
- 某些C库函数强依赖系统调用,比如malloc,socket等
- 某些linux API可以C库的形式调用,比如fopen --> sys_open , fprintf(sys_open, sys_mmap, sys_write, sys_close)