新聞中心
linux中庫(kù)的概念是什么?
本觀點(diǎn)僅供參考!

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的獨(dú)山子網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
在 windows 平臺(tái)和 linux 平臺(tái)下都大量存在著庫(kù)。
本質(zhì)上來(lái)說(shuō)庫(kù)是 一種可執(zhí)行代碼的二進(jìn)制形式,可以被操作系統(tǒng)載入內(nèi)存執(zhí)行。
由于 windows 和 linux 的平臺(tái)不同(主要是編譯器、匯編器和連接器 的不同),因此二者庫(kù)的二進(jìn)制是不兼容的。
什么是庫(kù)?
在windows平臺(tái)和linux平臺(tái)下都大量存在著庫(kù)。
本質(zhì)上來(lái)說(shuō)庫(kù)是一種可執(zhí)行代碼的二進(jìn)制形式,可以被操作系統(tǒng)載入內(nèi)存執(zhí)行。
由于windows和linux的本質(zhì)不同,因此二者庫(kù)的二進(jìn)制是不兼容的。
本文僅限于介紹linux下的庫(kù)。
2.庫(kù)的種類
linux下的庫(kù)有兩種:靜態(tài)庫(kù)和共享庫(kù)(動(dòng)態(tài)庫(kù))。
二者的不同點(diǎn)在于代碼被載入的時(shí)刻不同。
靜態(tài)庫(kù)的代碼在編譯過(guò)程中已經(jīng)被載入可執(zhí)行程序,因此體積較大。
共享庫(kù)的代碼是在可執(zhí)行程序運(yùn)行時(shí)才載入內(nèi)存的,在編譯過(guò)程中僅簡(jiǎn)單的引用,因此代碼體積較小。
arm庫(kù)是什么?
STM32是具體的芯片是處理器,而ARM指的是cpu的內(nèi)核是處理器核。比如S3C2410處理器是Samsung公司基于ARM公司的ARM920T處理器核,STM32也一樣,是STM使用了arm處理器核。
比如你用S3C2410芯片裸板開發(fā),那么你就可以用C的官方庫(kù),如果移植了Android那么你就可以用安卓庫(kù)。用了linux就有就可以用Linux官方庫(kù)。
如何查看Linux上程序或進(jìn)程用到的庫(kù)?
使用ldd命令,可以查看程序使用的動(dòng)態(tài)共享庫(kù)文件:比如查詢amixer使用的動(dòng)態(tài)共享庫(kù)文件:ldd/usr/bin/amixerlinux-vdso.so.
1=>(0x00007ffcab5ad000)libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007fd7317f0000)libasound.so.
2=>/usr/lib/x86_64-linux-gnu/libasound.so.2(0x00007fd731500000)libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007fd73113b000)libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007fd730f37000)libpthread.so.0=>/lib/x86_64-linux-gnu/libpthread.so.0(0x00007fd730d19000)librt.so.1=>/lib/x86_64-linux-gnu/librt.so.1(0x00007fd730b11000)/lib64/ld-linux-x86-64.so.2(0x00007fd731af6000)
到此,以上就是小編對(duì)于linux 庫(kù)的問(wèn)題就介紹到這了,希望這4點(diǎn)解答對(duì)大家有用。
當(dāng)前標(biāo)題:linux中庫(kù)的概念是什么?(Linux庫(kù)的概念)
新聞來(lái)源:http://m.fisionsoft.com.cn/article/dpcihjj.html


咨詢
建站咨詢
