一.官方的解释(大概了解一下)
- 函数调用: 函数调用是计算机编或运行时,使用某个函数来完成相关命令。
- 系统调用: 系统调用是用户在程序中使用“访管指令”调用由操作系统提供的子功能集合。
- API:应用编程接口(Application Programming Interface),是软件系统不同组成部分衔接的约定。
二.大白话的解释(重点)
注:以老师,学生为例来深度解析
-
函数调用
计算机科学与技术班的小呆同学解一道高数发现不会就去问小聪同学,小聪同学帮他分析和解答的过程;
(一个.c文件在执行主函数的某一行特殊代码时,会去执行该代码指定的子函数,子函数会把执行的结果有选择的返回的过程) -
系统调用
还是小呆同学遇见一道高数题,这题还比较特殊班里同学都不会,他就只能去办公室找老师请教的过程;
(应用进程执行过程发现这个我干不了,就把对CPU的控制权交给OS(操作系统)让它处理,OS处理完成后在把CPU控制权还给应用进程的过程) -
API
小呆同学去办公楼找高数的李老师,进了办公楼发现自己不知道李老师办公室在哪郁闷了.突然,发现一楼值班室的楼管叔叔开心的不得了,就去问楼管叔叔,楼管叔叔根据花名册告诉小呆同学李老师的办公室在520房间; 楼管叔叔就等价于系统调用接口
(由于应用程序在使用系统调用之前要编写一些程序,特别是设置系统调用的许多参数,因此这种系统调用接口 又称为 语言编程接口)补充1: API从程序设计的角度定义了许多标准的系统调用函