本文小編為大家詳細(xì)介紹“l(fā)inux apr指的是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“l(fā)inux apr指的是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
十載的甘州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整甘州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“甘州網(wǎng)站設(shè)計(jì)”,“甘州網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
linux apr是指Apache可移植運(yùn)行庫(kù),其英文全稱是“Apache portable Run-time libraries”;其主要為上層的應(yīng)用程序提供一個(gè)可以跨越多操作系統(tǒng)平臺(tái)使用的底層支持接口庫(kù)。
apache apr介紹
APR(Apache portable Run-time libraries,Apache可移植運(yùn)行庫(kù))的目的如其名稱一樣,主要為上層的應(yīng)用程序提供一個(gè)可以跨越多操作系統(tǒng)平臺(tái)使用的底層支持接口庫(kù)。在早期 的Apache版本中,應(yīng)用程序本身必須能夠處理各種具體操作系統(tǒng)平臺(tái)的細(xì)節(jié),并針對(duì)不同的平臺(tái)調(diào)用不同的處理函數(shù)。
隨著Apache的進(jìn)一步開 發(fā),Apache組織決定將這些通用的函數(shù)獨(dú)立出來(lái)并發(fā)展成為一個(gè)新的項(xiàng)目。這樣,APR的開發(fā)就從Apache中獨(dú)立出來(lái),Apache僅僅是使用 APR而已。目前APR主要還是由Apache使用,不過(guò)由于APR的較好的移植性,因此一些需要進(jìn)行移植的C程序也開始使用APR,開源項(xiàng)目比如 Flood loader(http://httpd.apache.org/test/flood/,該項(xiàng)目用于服務(wù)器壓力測(cè)試,不僅僅適用于Apache)、FreeSwitch(www.freeswitch.org),JXTA-C(http://jxta-c.jxta.org,C版本的JXTA點(diǎn)對(duì)點(diǎn)平臺(tái)實(shí)現(xiàn));商業(yè)的項(xiàng)目則包括Blogline(http://www.bloglines.com/,covalent(http://www.covalent.net)等等。
APR使得平臺(tái)細(xì)節(jié)的處理進(jìn)行下移。對(duì)于應(yīng)用程序而言,它們根本就不需要考慮具體的平臺(tái),不管是Unix、Linux還是Window,應(yīng)用程序執(zhí)行的接口基本都是統(tǒng)一一致的。因此對(duì)于APR而言,可移植性和統(tǒng)一的上層接口是其考慮的一個(gè)重點(diǎn)。而APR最早的目的并不是如此,它最早只是希望將Apache中用到的所有代碼合并為一個(gè)通用的代碼庫(kù),然而這不是一個(gè)正確的策略,因此后來(lái)APR改變了其目標(biāo)。有的時(shí)候使用公共代碼并不是一件好事,比如如何將一個(gè)請(qǐng)求映射到線程或者進(jìn)程是平臺(tái)相關(guān)的,因此僅僅一個(gè)公共的代碼庫(kù)并不能完成這種區(qū)分。APR的目標(biāo)則是希望安全合并所有的能夠合并的代碼而不需要犧牲性能。
APR的最早的一個(gè)目標(biāo)就是為所有的平臺(tái)(不是部分)提供一個(gè)公共的統(tǒng)一操作函數(shù)接口,這是一個(gè)非常了不起的目的,當(dāng)然也是不現(xiàn)實(shí)的一個(gè)目標(biāo)。我們不可能支持所有平臺(tái)的所有特征,因此APR目前只能為大多數(shù)平臺(tái)提供所有的APR特性支持,包括Win32、OS/2、BeOS、Darwin、Linux等等。為了能夠?qū)崿F(xiàn)這個(gè)目標(biāo),APR開發(fā)者必須為那些不能運(yùn)行于所有平臺(tái)的特性創(chuàng)建了一系列的特征宏(FEATURE MACROS)以在各個(gè)平臺(tái)之間區(qū)分這些特征。這些特征宏定義非常簡(jiǎn)單,通常用APR_HAS_FEATURE參數(shù)設(shè)置:
如果某個(gè)平臺(tái)具有這個(gè)特性,則該宏必須設(shè)置為true,比如Linux和window都具有內(nèi)存映射文件,同時(shí)APR提供了內(nèi)存映射文件的操作接口,因此在這兩個(gè)平臺(tái)上,APR_HAS_MMAP宏必須設(shè)置,同時(shí)ap_mmap_*函數(shù)應(yīng)該將磁盤文件映射為內(nèi)存并返回適當(dāng)?shù)臓顟B(tài)碼。如果你的操作系統(tǒng)并不支持內(nèi)存映射,那么APR_HAS_MMAP必須設(shè)置為0,而且所有的ap_mmap_*函數(shù)也可以不需要定義。第二步就是對(duì)于那些在程序中使用了不支持的函數(shù)必須提出警告。
目前APR中支持的基本類型包括下面幾種:
表3-1 APR中支持的基本類型
類型名稱 | 文件夾名稱 | 描述 |
atomic | /apr/atomic | 原子操作 |
dso | /apr/dso | 動(dòng)態(tài)加載共享庫(kù) |
file io | /apr/file_io | 文件IO處理 |
mmap | /apr/mmap | 內(nèi)存映射文件 |
locks | /apr/locks | 進(jìn)程和線程互斥鎖 |
memory | /apr/memory | 內(nèi)存池操作 |
network_io | /apr/network_io | 網(wǎng)絡(luò)IO處理 |
poll | /apr/poll | 輪詢IO |
table | /apr/tables | Apache數(shù)組(堆棧)和表格以及哈希表 |
process | /apr/threadproc | 進(jìn)程和線程操作 |
user | /apr/user | 用戶和用戶組操作 |
time | /apr/time | 時(shí)間操作 |
string | /apr/strings | 字符串操作 |
password | /apr/passwd | 終端密碼處理 |
misc | /apr/misc | 大雜燴,不屬于其余類的任何apr類型都可以放在里面 |
shmem | /apr/shmem | 共享內(nèi)存 |
random | /apr/random | 隨機(jī)數(shù)生成庫(kù) |
apache 的apr項(xiàng)目目前有三部分組成,分別是apr、apr-util、apr-iconv
apr中包含了一些通用的開發(fā)組件,包括mmap,DSO等等
apr-util該目錄中也是包含了一些常用的開發(fā)組件。這些組件與apr目錄下的相比,它們與apache的關(guān)系更加密切一些。比如存儲(chǔ)段和存儲(chǔ)段組,加密等等。
apr-iconv包中的文件主要用于實(shí)現(xiàn)iconv編碼。目前的大部分編碼轉(zhuǎn)換過(guò)程都是與本地編碼相關(guān)的。在進(jìn)行轉(zhuǎn)換之前必須能夠正確地設(shè)置本地編碼。因此假如兩個(gè)非本地編碼A和B需要轉(zhuǎn)換,則轉(zhuǎn)換過(guò)程大致為A->Local以及Local->B或者B->Local以及Local->A。
以上三個(gè)包最新下載地址為:
http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gz
http://labs.mop.com/apache-mirror//apr/apr-util-1.4.1.tar.gz
http://labs.mop.com/apache-mirror//apr/apr-iconv-1.2.1.tar.gz
讀到這里,這篇“l(fā)inux apr指的是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。