系统调用和库函数及api的区别

 我来答
地瓜说机
2017-10-16 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2.3万
采纳率:91%
帮助的人:1.2亿
展开全部
一.windows规定一切的应用程序优先级为3,而windows自己的为0,(0最高,3最低)。
windows不允许应用程序直接访问硬件,但会提供API函数让用户间接地访问,这样就会调用系统级API。平时出现的“........非法操作”就是因为应用程序非法访问硬件造成的。
API 一般分为两种
1.用户级API 有的也成为应用级API。替用户写好的函数,方便调用,使用户可以将焦点放在设计程序逻辑上面,而不必再编写繁琐、重复的程序。这些优秀可视化编程环境操作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。

2.系统级API 想要和系统硬件交互,必须调用此类函数

二.DOS系统中规定系统和应用程序的优先级一样,所以DOS允许用户为所欲为。引导型病毒就是这个性质

API与系统调用的区别:
程序员调用的是API(API函数),然后通过与系统调用共同完成函数的功能。
因此,API是一个提供给应用程序的接口,一组函数,是与程序员进行直接交互的。
系统调用则不与程序员进行交互的,它根据API函数,通过一个软中断机制向内核提交请求,以获取内核服务的接口。
并不是所有的API函数都一一对应一个系统调用,有时,一个API函数会需要几个系统调用来共同完成函数的功能,甚至还有一些API函数不需要调用相应的系统调用(因此它所完成的不是内核提供的服务)。

系统回调就是由系统执行回调函数,这个回调函数可以是用户编写的,但是必须是由系统调用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式