+ -
当前位置:首页 → 问答吧 → 求系统调用和api的区别

求系统调用和api的区别

时间:2010-08-17

来源:互联网

如题,对系统调用和api的理解很模糊,系统调用是操作系统给用户调用的一组接口,而在实际使用中编程人员调用的多是api而不是系统调用,那两者的区别是什么呢?

作者: chengmao2010   发布时间: 2010-08-17

本帖最后由 davelv 于 2010-08-17 09:39 编辑

windows下的API和系统调用不同,API好几千个,而系统调用估计也就是几百个(没有确切验证过),可以认为API是微软帮你封装并派生后的系统调用。
而Linux一般统称为系统调用,说的也就是那300多个函数,每个函数都唯一包装了一个调用号,这是和windows不同的。
Linux的系统调用号可以在/usr/include/unistd.h里查看,不过一般都是include的了另外一个和系统字长有关的头文件,如unistd_32.h或者unistd_64.h

作者: davelv   发布时间: 2010-08-17

了解一下

作者: 光速   发布时间: 2010-08-17

这两个概念相差很大啊,你怎么可能混呢?

作者: fender0107401   发布时间: 2010-08-17

有些API里要用到一个或多个系统调用,而有些API则用不着系统调用

作者: shenxiaocheng   发布时间: 2010-08-17

系统调用会进入内核,api则不一定

作者: snriyt   发布时间: 2010-08-17

《C专家编程》附录A  A.4

作者: logicBaby   发布时间: 2010-08-17