|
本帖最后由 鲁凯啸 于 2010-8-11 10:49 编辑
用自己的话解释一下API是什么!
复制粘贴者请勿回答~!
请用自己的话解释一下,
目的是要让新手更容易的了解api...
只要是用自己的话解释者,一律+10金币
解释基本符合概念者,再+10金币
正确者,再+20金币
居然有许多人问,“什么是API函数?”,给其他程序员看见了确实会笑掉牙齿。
首先要说的是易语言是全中文的,但是与之相矛盾的问题又来了,API函数不是英文的吗?
那么咱就来揭露一下这个能够打退不少新手的家伙,至于他为什么能打退咱们广大新手呢?
其一就不用多说,因为冲着易语言来的不少朋友都是看中了全中文编程,API刚好是鸟语。
其二就要看看API的“专业解释”了:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
果然很好很专业,不过实际上专业与非专业的区别就是用词的不同而已。
于是乎,哥就从假设看此文的都是从来米有接触过编程的群众的处境来进行阐述吧。
1.动态链接库:
也是很好很专业的名词,文件名后面是.dll的文件相信不少见,但是他到底干啥的呢?
其实他就是传说中的动态链接库,他的里面封装了程序代码并且把执行不同功能的代码分成一块一块的再给每一块都取了一些名字。他到底有什么用呢?
当代的编程其实不全是一个技术活了,而转变成了体力活。为什么这么说呢?
假设我是一个牛逼的程序员,那么我来分享一下我的日记:
1.今天我很高兴,我把播放MP3的代码写出来了。
2.今天我很高兴,我把上次写的播放MP3重新写了一遍,用在了新的程序上。
3.今天我很郁闷,我又把上次写过播放MP3重新写了一遍,用在了新的程序上,这非常无聊。
4.今天我很恼火,我又把上次写过播放MP3重新写了一遍,用在了新的程序上,他妹的太麻烦了。
于是随着程序员的恼火,动态链接库产生了。
那么继续假设我是一个牛逼的程序员,分享一下我的日记:
1.今天我很高兴,我把播放MP3的代码写出来了,并且保存到了DLL(动态链接库)里面。
2.今天我很高兴,又有一个程序需要播放MP3,我直接把DLL拷贝下来,然后引用就可以了。
3.今天我很高兴,我又把我的DLL里面添加了播放视频的代码。
4.今天我非常高兴,我用我积累的DLL里面的代码轻轻松松就写了一个视频播放器。
现在是不是知道了这个DLL有啥用了?
那什么是API函数呢,其实就是封装在系统自带的DLL里面的命令,而且是用C语言写的。
所以说,API函数是英文是不可避免的,但是我们知道他一定是用来简化我们编程的。
如何正确认识API函数呢?
随着Windwos时代的到来,Windows像一堵巨大的墙,把我们和计算机的硬件隔离开。
对于DOS汇编程序员来说,就像在一夜之间我们发现:
自己曾经学过的几乎所有东西都被Windows一麻袋装到一个叫“内核”的金库里了!
金库当然有保安,所以我们再也无法像在DOS下那样闯入金库内邪恶了。
那咱们写程序咋办呢?程序的运行就是要这坨铁给我们干活。
于是乎Windows留下了一些叫做API(应用程序编程接口)的东西,
使我们通过API函数来操作硬件,就像是一个送信的,我们只需要告诉他干什么,至于怎么干就是内核的事了,就是系统与应用程序的接口了。
一切繁琐的工作全部被封装在系统的DLL内,我们直接把函数拿来用就OK,怎么用捏,就是API函数的使用了:我们只需要告诉易语言我们要用哪个函数(声明),就可以大大方方的用了。
由此看来,API函数并不麻烦,相比之下API函数其实简化了计算机编程!
与易语言对照 API函数更加显得平凡!
易语言也是把一些繁琐的东西写好了封装在了“库”里面。
我们一个命令就可以实现强大的功能,是因为繁琐的编程细节已经是早早准备好!
比如:
咱们MP3播放器。 一句命令 播放MP3()
但是实际上并没有这么简单,在我们看不到的地方。
洋洋洒洒的几百行代码为我们完成了解码,播放等工作。
对于一个牛人来说,洋洋洒洒的写个几百行然后听上一段《你好陈水扁》。
这似乎很洋气,但是,这过于繁琐。对于用户来说,白马黑马,能跑的就是好马!
所以一句命令 播放MP3() 和几百行代码 产生的效应是一样的。
于是牛人自然心里极度不平衡,想问候易语言他全家女性。
也许现在你会得意,不过这也暴露出易语言不和谐的一面:
易语言为了编程的快捷和方便,隐藏了大量Windows编程的细节
使我们无法知道一个应用程序具体是如何运行的。
学习易语言一段时间之后,虽然我们把现有控件的属性、方法、事件都研究得滚瓜乱熟,却发现自己的编程技术无法再深入,控件有的我们就能实现,控件没有的我们就不能实现,这时候就需要深入了解Windows编程的细节、熟悉一批API的用法了。
所以总结:
1.API函数不神奇,与易语言命令唯一的区别就是要声明一下!
2.易语言编程,任何语言在windows编程离不开API函数!
|
|