我真的不明白这个话题.例如,功能如
printf()strlen()malloc()哪个是系统调用,哪个不是?在给我一个函数时我怎么知道它?在Google上没有找到任何内容.
这取决于系统.有一个手册页syscalls列出了Linux上的系统调用,例如:http://man7.org/linux/man-pages/man2/syscalls.2.html
此列表还取决于版本:有时会将新系统调用添加到Linux内核中.
列表中的所有功能都不是系统调用.然而,它们的实现可以使用系统调用:printf使用write系统调用,malloc使用mmap或mmap2或brk系统调用.相反,典型的实现strlen不会使用系统调用.