成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux中利用系統庫文件來降低工作

系統 Linux
在不同的開發環境中,往往都有給子的庫文件。庫文件就是那些為了實現某個特定功能的代碼或者程序。在開發應用程序的時候可以直接拿來使用。如此就可以降低開發的工作量。在Linux操作系統中,也提供了很豐富的庫文件。

在不同的開發環境中,往往都有給子的庫文件。庫文件就是那些為了實現某個特定功能的代碼或者程序。在開發應用程序的時候可以直接拿來使用。如此就可以降低開發的工作量。在Linux操作系統中,也提供了很豐富的庫文件。為此如果Linux操作系統開發人員能夠學會使用這個庫文件,那么就可以在很大程度上降低工作量。具體的來說,Linux系統管理員需要了解三方面的內容。一是常用的庫文件,二是庫文件調用的方法,三是為什么推薦使用共享庫。了解這些內容,系統管理員就可以在程序開發過程中調用庫文件了。對于庫文件中到底包含哪些內容,系統管理員可以參考相關的書籍,筆者在這里就不做過多闡述了。筆者現在只談談庫文件的調用方法以及筆者他們之間的差異,以幫助各位讀者確定到底還是用靜態庫還是使用動態庫。

一、庫文件的調用方法。

使用庫文件可以隱藏具體的實現。如系統管理員在使用這個庫文件時,只需要包含所需要函數所在的頭文件即可。而不用關系這個函數的具體實現。這就好像用手機打電話一樣。系統管理員只需要知道怎么用手機撥打電話即可,而不需要知道其內部的線路是怎么布置的,信號是如何在兩個手機直接進行傳遞的,數字信號怎么轉換成語音信號的等等,這些內容都不需要知道。另外,使用庫文件可以降低開發的工作量。有些功能可能在多個應用程序中都需要用到,那么通過庫文件的話,就不需要重復編寫代碼與編譯了。為此可以在很大程度上降低開發的工作量。

那么系統管理員可以采用什么樣的方式來調用這個庫文件呢?在Linux操作系統的開發環境下,主要有兩種調用的方式。一種是叫作靜態庫的調用方法。即在編譯時將庫中相應函數的二進制映像代碼直接拷貝到當前編譯的程序中。簡單的說,就是直接通過代碼的復制、粘貼來減少代碼的開發。這跟有些人在寫作文時東拼西湊的方式相同。在Linux操作系統中,如果庫文件是以.a為后綴,就表示為靜態庫文件。在用到這個靜態庫文件時,系統管理員可以直接以編輯器打開這個庫文件,把代碼復制到自己的應用程序中,進行編譯。

第二種調用方法叫作共享庫調用。若采用這種方法調用庫文件的話,在編譯時只需要引用庫中相應函數的二進制印象代碼的入口位置。然后這個應用程序在運行時就會從共享庫文件中讀出這個函數代碼,從而實現間接引用。也就是說,這個共享庫就好像是一個客廳。只要用戶在房間與客廳之間開一道門,那么這個房間就可以使用這個客廳。而靜態庫則不同。靜態庫要使用這個客廳的話,他不是在房間與客廳之間開一道門,而是將這個客廳都包含到自己的房間中,跟房間合為一體。所以這兩種調用方法在實現機制上有很大的不同。同時這也決定了他們各有各的優缺點。系統管理員在使用這些庫文件時,不得不料接他們彼此的優缺點,然后選擇合適的調用方式。

二、共享庫使用的優點。

采用靜態庫的調用方法,優勢很明顯。由于此時靜態文件的代碼已經跟用戶開發的代碼融為一體,所以在執行這個應用程序時,就不需要再查找這個庫的路徑。如此的話在執行這個可執行文件時就不需要任何庫的支持。但是其缺點也是很明顯的。如這個應用程序的多個子程序都需要用到這個庫文件,那么就需要復制多段相同的代碼。此時無疑會增加代碼的長度,增加維護的難度。最要命的是,對于應用程序的性能也會帶來負面的影響。為此除非你開發的應用程序很簡單,只完成單一的功能,那么可以使用靜態庫。除此之外,筆者是建議各位讀者采用共享庫為好。具體的來說,采用共享庫可以帶來如下的優勢。

一是便于共享庫文件的升級與維護。共享庫中的文件也有可能本身就有問題,需要通過庫文件升級來解決。此時如果采用的是靜態庫的話,那么就不得不一一去更改引用了這個庫文件的代碼。當一個應用程序中引用了十次的話,那么就需要更改十個地方。顯然這個后續維護的工作量會很大。但是采用了共享庫文件的話,則不同。此時只需要更改共享庫中的庫文件即可。由于在應用程序代碼中只是指出了這個庫文件的入庫位置。為此只要這個庫位置沒有發生變化的話,那么這個應用程序中的代碼就不需要進行更改。所以,當共享庫中的文件由于錯誤等原因需要進行升級的,那么對于應用程序不會有絲毫的影響。此時只需要直接將庫文件覆蓋即可,而不需要重新編譯應用程序的代碼。這就好像帶SIM卡與不帶SIM小靈通的區別。如果現在用戶想要換個號碼,那么對于帶SIM卡的小靈通,只需要更換一張SIM卡即可。而對于不帶SIM卡的小靈通,就需要更換整個小靈通。這個帶SIM卡的小靈通就好像是共享庫;而不帶SIM卡的小靈通就好像是靜態庫。

二是提高代碼的共享。當應用程序中的多個子程序需要使用同一個庫文件時,Linux操作系統將共享庫文件調入到內存單元。此時無論有多少個子程序需要使用一段相同的代碼時,只需要將這段代碼放到共享內存中,而不需奧像靜態庫那樣在所有的地方都將其直接加載到可執行文件中。這跟看電影很像。采用共享庫就好像是在電影院中看電影。電影只放映一次,但是很多人可以一起看這部電影。而采用靜態庫的話就好象是在自己的家庭影院中看電影。如果三個家庭要看同一部電影,那么他們不得不各自在自己的家中打開家庭影院進行觀看。無疑家庭影院的利用率并不高,至少沒有電影院中的設備那么高。同時這也會增加系統的負荷。每個家庭都利用自己的家庭影院看,如果三個家庭的話就會相當于多耗費2倍的電源。所以說,使用共享庫的話,可以在很大程度上節省系統的資源,特別是內存的開銷,它可以讓應用程序運行的更快。當所開發的應用程序越復雜,或者使用相同代碼的幾率越大,那么這個性能提升的效果也就越明顯。

不過使用這個共享庫文件有一個很大的缺陷,即此時可執行文件就與庫文件有了一定的依賴關系。如某個可執行文件采用共享庫的形式,其調用了某個庫文件。但是當這個可執行程序在其他Linux操作系統上運行的時候,很有可能這個庫文件不存在或者版本比較低,此時這個可執行文件就可能無法運行或者運行出現錯誤。為了避免這種情況,有時候不得不把需要用到的庫文件跟可執行文件一起進行分發。另外就是在代碼編寫中,必須要指明庫文件的搜索位置。否則這個應用程序在執行時,就會找不到庫文件的位置了。

不過話說回來,這個共享庫引用的缺陷都是可以解決的。為此相比其優勢來說,這些缺陷就不足一提了。只要在軟件打包或者軟件安裝之前進行必要的驗證,就可以很好的避免這個缺陷對于應用程序造成的負面影響。為此總的來說,筆者還是建議大家采用共享庫的方式來調用庫文件為好。特別是在設計一些大型的應用程序或者可能有性能瓶頸的應用程序時,采用共享庫會幫助系統管理員提升應用程序的性能。

【編輯推薦】

  1. 玩轉linux之二-驅動開發技術探析
  2. 實驗——LINUX常用網絡測試命令
  3. linux DNS服務配置 (超詳細)
責任編輯:龐桂玉 來源: 騰訊科技
相關推薦

2009-06-29 09:24:19

Linux

2010-05-07 15:40:18

ibmdwLinux

2009-04-28 19:44:25

LinuxProcmail垃圾郵件

2009-05-26 12:23:56

Linux變量文件命名

2020-04-10 20:24:49

物聯網RFID智能運輸

2009-07-14 18:13:36

Microsoft J

2021-09-13 12:15:57

Linux文件命令

2010-11-25 13:22:03

OMF

2017-10-25 08:19:21

云存儲云鎖定風險

2017-01-18 21:44:21

Linux工具恢復文件

2017-03-01 12:19:17

rsync Linux系統

2013-10-30 09:37:19

LinuxLinux命令

2021-08-24 10:57:24

Linux文件系統內存

2024-04-03 08:00:00

gSASRec推薦算法

2013-12-16 17:35:34

2023-07-11 14:12:06

2017-03-14 09:13:14

Linux工作管理系統資源

2011-03-22 17:32:54

數據庫角色應用系統安全

2020-11-24 06:20:02

Linux日志文件系統

2018-12-18 09:20:44

欺騙技術物聯網安全物聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人免费在线 | 欧美在线观看黄色 | 国产精品99久久久久久久久久久久 | 亚洲国产网站 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 中文字幕av一区 | 国产免费福利 | 欧美成人一区二免费视频软件 | 日本黄视频在线观看 | 中文一级片 | 久久国产福利 | 99re99| 美女视频黄色的 | 久久大陆| 在线播放国产一区二区三区 | 一区二区三区四区不卡 | 日韩免费视频一区二区 | 日韩中文字幕久久 | 黄色片大全在线观看 | 日韩欧美三级 | 日韩一区和二区 | 羞羞午夜| 天天天天操 | 午夜影院在线观看免费 | 亚洲高清视频在线观看 | 特级丰满少妇一级aaaa爱毛片 | 99精品国产一区二区青青牛奶 | 欧美色综合一区二区三区 | 日韩中文视频 | 久久视频免费观看 | 91在线看片 | 国产在线观看一区二区三区 | 一级免费在线视频 | 男女网站免费 | 成人av一区二区亚洲精 | 久久不射电影网 | 性国产丰满麻豆videosex | 欧美日韩国产三级 | 国产中文视频 | 91亚洲精品在线观看 | 91精品一区 |