Chinaunix首页 | 论坛 | 博客

分类: C/C++

2009-02-09 12:45:05

  
  在前一小节的图一示意图中,在编译的过程里面有提到函式库。好啦, 那么什么是函式库呢?先举个例子来说,我们的 Linux 系统上,系统通常已经提供一个可以进行身份验证的模组,称为 PAM ,这个 PAM 提供的功能可以让很多的程式在被执行的时候,除了可以验证使用者登入的资讯外, 还可以将身份确认的资料记录在登录档( log file, 请查阅后续的 认识登录档 一文 )里面,以方便系统管理员的追踪!

  既然有这么好用的功能,那如果我要编写具有身份认证功能的程式时, 直接引用该 PAM 的功能就好啦,如此一来,我就不需要重新设计认证机制啰!也就是说, 只要在我写的程式码里面,设定去呼叫 PAM 的函式功能,呵呵!我的程式就可以利用 Linux 原本就有的身份认证的程序咯!除此之外,其实我们的 Linux 核心( kernel )也提供了相当多的函式库来给硬体开发者利用喔。

  函式库又分为动态与静态函式库,这两个咚咚的分别我们在后面的章节再加以说明。 这里我们以一个简单的流程图,来示意一支有呼叫外部函式库的程式的执行情况。

  
  图二、程式引用函式库的示意图

  很简单的示意图啊!^_^!而如果要在程式里面加入引用的函式库,就需要如图一所示, 亦即在编译的过程当中,就需要加入函式库的相关设定啰。

  事实上, Linux 的核心提供很多的核心相关函式库与外部参数, 这些核心功能在设计硬体的驱动程式的时候是相当有用的资讯,这些核心相关资讯大多放置在 /usr/include, /lib, /usr/lib 里面哩!我们在本章的后续小节再来探讨。

阅读(2243) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~