总之,我们可以这么说:
.
开放源码:就是程序代码,写给人类看的程序语言,但机器并不认识,所以无法执行;
.
编译程序:½程序代码转译成为机器看的懂得语言,就类似翻译者的½色;
.
可执行文件:经过编译程序变成二½制程序后,机器看的懂所以可以执行的文件。
20.1.2
什么是函式库
在前一小½的
21.1.1
示意图中,在编译的过程里面有提到函式库这东西。
什么是函式库呢?先举
个例子来说:我们的
Linux
系统上通常已经提供一个可以½行身份验证的模块,
就是在
第十三章提
到的
PAM
模块
。这个
PAM
提供的功能可以让很多的程序在被执行的时候,除了可以验证用户登
入的信息外,
还可以½身份确认的数据记录在
登录档
里面,以方便系统管理员的追踪!
既然有这么好用的功能,那如果我要编写具有身份认证功能的程序时,直½引用该
PAM
的功能就
好啦,如此一来,我就不需要重新设计认证机制啰!也就是说,只要在我写的程序代码里面,设定去
呼½
PAM
的函式功能,我的程序就可以利用
Linux
原本就有的身份认证的程序咯!除此之外,其
实我们的
Linux
核心也提供了相当多的函式库来给硬件开发者利用喔。
函式库又分为动态与静态函式库,这两个咚咚的分别我们在后面的小½再加以说明。
这里我们以一
个简单的流程图,来示意一支有呼½外部函式库的程序的执行情况。
21.1.2
、程序执行时引用外部动态函式库的示意图
很简单的示意图啊!
^_^
!而如果要在程序里面加入引用的函式库,就需要如
21.1.1
所示,
亦即
在编译的过程当中,就需要加入函式库的相关设定啰。
事实上,
Linux
的核心提供很多的核心相关
函式库与外部参数,
这些核心功能在设计硬件的驱动程序的时候是相当有用的信息,这些核心相关
信息大多放置在
/usr/include, /usr/lib, /usr/lib64
里面哩!我们在本章的后续小½再来探讨。反正我们可
以简单的这么想:
.
函式库:就类似子程序的½色,可以被呼½来执行的一段功能函数。