偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Linux中利用系統(tǒng)庫(kù)文件來(lái)降低工作量

系統(tǒng) Linux
在不同的開發(fā)環(huán)境中,往往都有給子的庫(kù)文件。庫(kù)文件就是那些為了實(shí)現(xiàn)某個(gè)特定功能的代碼或者程序。在開發(fā)應(yīng)用程序的時(shí)候可以直接拿來(lái)使用。

在不同的開發(fā)環(huán)境中,往往都有給子的庫(kù)文件。庫(kù)文件就是那些為了實(shí)現(xiàn)某個(gè)特定功能的代碼或者程序。在開發(fā)應(yīng)用程序的時(shí)候可以直接拿來(lái)使用。如此就可以降低開發(fā)的工作量。在Linux操作系統(tǒng)中,也提供了很豐富的庫(kù)文件。為此如果Linux操作系統(tǒng)開發(fā)人員能夠?qū)W會(huì)使用這個(gè)庫(kù)文件,那么就可以在很大程度上降低工作量。

具體的來(lái)說(shuō),Linux系統(tǒng)管理員需要了解三方面的內(nèi)容。一是常用的庫(kù)文件,二是庫(kù)文件調(diào)用的方法,三是為什么推薦使用共享庫(kù)。了解這些內(nèi)容,系統(tǒng)管理員就可以在程序開發(fā)過(guò)程中調(diào)用庫(kù)文件了。對(duì)于庫(kù)文件中到底包含哪些內(nèi)容,系統(tǒng)管理員可以參考相關(guān)的書籍,筆者在這里就不做過(guò)多闡述了。筆者現(xiàn)在只談?wù)剮?kù)文件的調(diào)用方法以及筆者他們之間的差異,以幫助各位讀者確定到底還是用靜態(tài)庫(kù)還是使用動(dòng)態(tài)庫(kù)。

一、庫(kù)文件的調(diào)用方法。

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

那么系統(tǒng)管理員可以采用什么樣的方式來(lái)調(diào)用這個(gè)庫(kù)文件呢?在Linux操作系統(tǒng)的開發(fā)環(huán)境下,主要有兩種調(diào)用的方式。一種是叫作靜態(tài)庫(kù)的調(diào)用方法。即在編譯時(shí)將庫(kù)中相應(yīng)函數(shù)的二進(jìn)制映像代碼直接拷貝到當(dāng)前編譯的程序中。簡(jiǎn)單的說(shuō),就是直接通過(guò)代碼的復(fù)制、粘貼來(lái)減少代碼的開發(fā)。這跟有些人在寫作文時(shí)東拼西湊的方式相同。在Linux操作系統(tǒng)中,如果庫(kù)文件是以.a為后綴,就表示為靜態(tài)庫(kù)文件。在用到這個(gè)靜態(tài)庫(kù)文件時(shí),系統(tǒng)管理員可以直接以編輯器打開這個(gè)庫(kù)文件,把代碼復(fù)制到自己的應(yīng)用程序中,進(jìn)行編譯。

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

#p#二、共享庫(kù)使用的優(yōu)點(diǎn)。

采用靜態(tài)庫(kù)的調(diào)用方法,優(yōu)勢(shì)很明顯。由于此時(shí)靜態(tài)文件的代碼已經(jīng)跟用戶開發(fā)的代碼融為一體,所以在執(zhí)行這個(gè)應(yīng)用程序時(shí),就不需要再查找這個(gè)庫(kù)的路徑。如此的話在執(zhí)行這個(gè)可執(zhí)行文件時(shí)就不需要任何庫(kù)的支持。但是其缺點(diǎn)也是很明顯的。如這個(gè)應(yīng)用程序的多個(gè)子程序都需要用到這個(gè)庫(kù)文件,那么就需要復(fù)制多段相同的代碼。此時(shí)無(wú)疑會(huì)增加代碼的長(zhǎng)度,增加維護(hù)的難度。最要命的是,對(duì)于應(yīng)用程序的性能也會(huì)帶來(lái)負(fù)面的影響。為此除非你開發(fā)的應(yīng)用程序很簡(jiǎn)單,只完成單一的功能,那么可以使用靜態(tài)庫(kù)。除此之外,筆者是建議各位讀者采用共享庫(kù)為好。具體的來(lái)說(shuō),采用共享庫(kù)可以帶來(lái)如下的優(yōu)勢(shì)。

一是便于共享庫(kù)文件的升級(jí)與維護(hù)。共享庫(kù)中的文件也有可能本身就有問(wèn)題,需要通過(guò)庫(kù)文件升級(jí)來(lái)解決。此時(shí)如果采用的是靜態(tài)庫(kù)的話,那么就不得不一一去更改引用了這個(gè)庫(kù)文件的代碼。當(dāng)一個(gè)應(yīng)用程序中引用了十次的話,那么就需要更改十個(gè)地方。顯然這個(gè)后續(xù)維護(hù)的工作量會(huì)很大。但是采用了共享庫(kù)文件的話,則不同。此時(shí)只需要更改共享庫(kù)中的庫(kù)文件即可。由于在應(yīng)用程序代碼中只是指出了這個(gè)庫(kù)文件的入庫(kù)位置。為此只要這個(gè)庫(kù)位置沒有發(fā)生變化的話,那么這個(gè)應(yīng)用程序中的代碼就不需要進(jìn)行更改。所以,當(dāng)共享庫(kù)中的文件由于錯(cuò)誤等原因需要進(jìn)行升級(jí)的,那么對(duì)于應(yīng)用程序不會(huì)有絲毫的影響。此時(shí)只需要直接將庫(kù)文件覆蓋即可,而不需要重新編譯應(yīng)用程序的代碼。這就好像帶SIM卡與不帶SIM小靈通的區(qū)別。如果現(xiàn)在用戶想要換個(gè)號(hào)碼,那么對(duì)于帶SIM卡的小靈通,只需要更換一張SIM卡即可。而對(duì)于不帶SIM卡的小靈通,就需要更換整個(gè)小靈通。這個(gè)帶SIM卡的小靈通就好像是共享庫(kù);而不帶SIM卡的小靈通就好像是靜態(tài)庫(kù)。

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

不過(guò)使用這個(gè)共享庫(kù)文件有一個(gè)很大的缺陷,即此時(shí)可執(zhí)行文件就與庫(kù)文件有了一定的依賴關(guān)系。如某個(gè)可執(zhí)行文件采用共享庫(kù)的形式,其調(diào)用了某個(gè)庫(kù)文件。但是當(dāng)這個(gè)可執(zhí)行程序在其他Linux操作系統(tǒng)上運(yùn)行的時(shí)候,很有可能這個(gè)庫(kù)文件不存在或者版本比較低,此時(shí)這個(gè)可執(zhí)行文件就可能無(wú)法運(yùn)行或者運(yùn)行出現(xiàn)錯(cuò)誤。為了避免這種情況,有時(shí)候不得不把需要用到的庫(kù)文件跟可執(zhí)行文件一起進(jìn)行分發(fā)。另外就是在代碼編寫中,必須要指明庫(kù)文件的搜索位置。否則這個(gè)應(yīng)用程序在執(zhí)行時(shí),就會(huì)找不到庫(kù)文件的位置了。

不過(guò)話說(shuō)回來(lái),這個(gè)共享庫(kù)引用的缺陷都是可以解決的。為此相比其優(yōu)勢(shì)來(lái)說(shuō),這些缺陷就不足一提了。只要在軟件打包或者軟件安裝之前進(jìn)行必要的驗(yàn)證,就可以很好的避免這個(gè)缺陷對(duì)于應(yīng)用程序造成的負(fù)面影響。為此總的來(lái)說(shuō),筆者還是建議大家采用共享庫(kù)的方式來(lái)調(diào)用庫(kù)文件為好。特別是在設(shè)計(jì)一些大型的應(yīng)用程序或者可能有性能瓶頸的應(yīng)用程序時(shí),采用共享庫(kù)會(huì)幫助系統(tǒng)管理員提升應(yīng)用程序的性能。

【編輯推薦】

  1. fedora下bridge和nat設(shè)置(LINUX上網(wǎng)問(wèn)題)
  2. Linux系統(tǒng)核心源程序文件組織結(jié)構(gòu)介紹
  3. 計(jì)算機(jī)中裝有雙系統(tǒng)的用戶如何卸載Linux
責(zé)任編輯:趙寧寧 來(lái)源: 計(jì)世網(wǎng)
相關(guān)推薦

2009-06-26 08:35:48

Linux庫(kù)文件操作系統(tǒng)

2018-05-28 11:54:53

運(yùn)維

2011-11-15 10:20:23

Solaris操作系統(tǒng)

2010-05-07 15:40:18

ibmdwLinux

2011-04-18 13:45:59

自動(dòng)化測(cè)試測(cè)試管理

2023-01-18 08:26:29

工具Mybatis代碼

2011-06-14 16:20:45

測(cè)試

2019-09-09 09:28:46

數(shù)據(jù)技術(shù)代碼

2022-05-20 14:13:50

區(qū)塊鏈金融工具

2024-11-14 15:53:56

2023-07-24 16:53:14

人工智能工作量翻倍

2009-04-20 17:19:59

虛擬化服務(wù)器Vmware

2021-03-30 08:49:05

IT人員心理問(wèn)題Harvey Nash

2009-04-28 19:44:25

LinuxProcmail垃圾郵件

2020-11-03 14:17:33

Chrome谷歌瀏覽器

2023-08-01 08:44:33

ChatGPTPython腳本

2023-10-10 20:26:15

Linux

2009-03-09 12:53:09

服務(wù)器虛擬化IDC虛擬機(jī)

2025-05-21 07:05:00

2019-07-15 14:39:24

機(jī)器人護(hù)士Moxi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)