当前位置:  技术问答>linux和unix

各位帮我介绍一下API

    来源: 互联网  发布时间:2016-10-25

    本文导语:  unix下的API是什么意思,如果需要写自己的API应该怎么做啊? | API全称应该是Application Programming Interface——应用程序编程接口,应用程序可以是任何语言写的(包括shell),比如我完成了加法...

unix下的API是什么意思,如果需要写自己的API应该怎么做啊?

|
API全称应该是Application Programming Interface——应用程序编程接口,应用程序可以是任何语言写的(包括shell),比如我完成了加法的运算,然后我提供了一个函数给外部来用,那么这个函数就是一个API。
关于shell其实是因为没有库的说法而已,但是它依然可以提供API,比如我写了一个对字串分段的函数,把它单独放到一个文件中,以后我在用的这个功能的时候,我就可以直接把那个文件那过来调用函数就可以,不用拷贝黏贴,这也可以看做事API只是它没有对外人发布而已。

“那我用shell怎么调用啊,需要将这个程序文件编译成什么格式,shell里要怎么写”,首先你得了解shell编程时什么东西,它是一个解析性语言,Linux终端(本来我想写shell的,但是怕你弄混了)会解析你的.sh文件,然后在终端中执行文件中对应的命令,并可以把命令结果存放到变量中,它调用的东西必须是可以“独立执行”的!所以它不能调用c的API,因为c的API是不能“独立执行”

|

shell是不能调用c语言的函数的,只能调用编译好的执行程序

|
Linux系统下的API(Application Interface)实质都是一些系统调用,也是各种程序和系统内核打交道的借口,我们在linux下使用的很多库函数都是通过封装API形成的,例如printf,scanf等等,当然我们也可以写程序直接调用API,而无需通过库函数了。

当调用库函数时,如果遇到API调用,系统会通过软件中断(SWI)是系统陷入内核,内核中的软中断处理函数sys_call()会根据相关的条件码去执行相关的系统调用,当完成工作后返回到用户进程。

典型的驱动程序就属于API层上,也是提供了用户和内核交互的借口,这些都是通过软中断实现。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java.applet类applet的类成员方法: getcodebase定义及介绍
  • 我觉得介绍InstallAnyWhere的文档,太少了,请大家介绍一下,英文也可以◎◎◎◎◎◎◎◎
  • java命名空间java.awt接口adjustable的类成员方法: getvisibleamount定义及介绍
  • 请大家介绍几个关于嵌入式Linux开发的站点!最好介绍几个国外的!
  • java命名空间java.awt接口adjustable的类成员方法: getvalue定义及介绍
  • javacc,有研究过的朋友给介绍介绍,谢了
  • java命名空间java.awt类color的类成员方法: orange定义及介绍
  • 那里有关于jmf的开发资料和介绍,请那位仁兄帮忙(最好介绍一些好的资料)急!!
  • java命名空间java.awt类component.bltbufferstrategy的类成员方法: revalidate定义及介绍
  • 小弟对PROC不太了解,但老板要求用它开发,帮帮忙(介绍介绍相关的资源或网站)
  • java命名空间java.awt类component.flipbufferstrategy的类成员方法: destroybuffers定义及介绍
  • 麻烦大家给介绍介绍几本J2EE的入门书呗
  • java命名空间java.awt类cursor的类成员方法: predefined定义及介绍
  • 给我介绍几本学linux的好书,介绍就给分!!!!!
  • java命名空间java.awt类cursor的类成员方法: gettype定义及介绍
  • 急!!谁了解macintosh?能不能给我介绍介绍?是不是跟linux差不多?使用开发工具JDK,这是不是不JAVA?
  • java命名空间java.awt类event的类成员方法: pgdn定义及介绍
  • 怎么没有讨论XML的?哪位高手介绍介绍在JAVA中怎么使用XML?
  • java命名空间java.awt类event的类成员方法: down定义及介绍
  • javascript开源软件 iis7站长之家
  • java命名空间java.awt类event的类成员方法: f6定义及介绍
  • 请大家给介绍一本JSP入门的好书,和一本介绍实际开发经验的好书


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3