Linux中利用系统库文件来降低工作量(1)


在不同的开发环境中,往往都有给子的库文件。库文件就是那些为了实现某个特定功能的代码或者程序。在开发应用程序的时候可以直接拿来使用。如此就可以降低开发的工作量。在Linux操作系统中,也提供了很丰富的库文件。为此如果Linux操作系统开发人员能够学会使用这个库文件,那么就可以在很大程度上降低工作量。

具体的来说,Linux系统管理员需要了解三方面的内容。一是常用的库文件,二是库文件调用的方法,三是为什么推荐使用共享库。了解这些内容,系统管理员就可以在程序开发过程中调用库文件了。对于库文件中到底包含哪些内容,系统管理员可以参考相关的书籍,笔者在这里就不做过多阐述了。笔者现在只谈谈库文件的调用方法以及笔者他们之间的差异,以帮助各位读者确定到底还是用静态库还是使用动态库。

一、库文件的调用方法。

使用库文件可以隐藏具体的实现。如系统管理员在使用这个库文件时,只需要包含所需要函数所在的头文件即可。而不用关系这个函数的具体实现。这就好像用手机打电话一样。系统管理员只需要知道怎么用手机拨打电话即可,而不需要知道其内部的线路是怎么布置的,信号是如何在两个手机直接进行传递的,数字信号怎么转换成语音信号的等等,这些内容都不需要知道。另外,使用库文件可以降低开发的工作量。有些功能可能在多个应用程序中都需要用到,那么通过库文件的话,就不需要重复编写代码与编译了。为此可以在很大程度上降低开发的工作量。

那么系统管理员可以采用什么样的方式来调用这个库文件呢?在Linux操作系统的开发环境下,主要有两种调用的方式。一种是叫作静态库的调用方法。即在编译时将库中相应函数的二进制映像代码直接拷贝到当前编译的程序中。简单的说,就是直接通过代码的复制、粘贴来减少代码的开发。这跟有些人在写作文时东拼西凑的方式相同。在Linux操作系统中,如果库文件是以.a为后缀,就表示为静态库文件。在用到这个静态库文件时,系统管理员可以直接以编辑器打开这个库文件,把代码复制到自己的应用程序中,进行编译。

第二种调用方法叫作共享库调用。若采用这种方法调用库文件的话,在编译时只需要引用库中相应函数的二进制印象代码的入口位置。然后这个应用程序在运行时就会从共享库文件中读出这个函数代码,从而实现间接引用。也就是说,这个共享库就好像是一个客厅。只要用户在房间与客厅之间开一道门,那么这个房间就可以使用这个客厅。而静态库则不同。静态库要使用这个客厅的话,他不是在房间与客厅之间开一道门,而是将这个客厅都包含到自己的房间中,跟房间合为一体。所以这两种调用方法在实现机制上有很大的不同。同时这也决定了他们各有各的优缺点。系统管理员在使用这些库文件时,不得不料接他们彼此的优缺点,然后选择合适的调用方式。


相关内容