linux标准库是动态还是静态?
編譯器的默認(rèn)設(shè)置是連接動(dòng)態(tài)庫(kù),這就要求在程序執(zhí)行的時(shí)候需要的動(dòng)態(tài)庫(kù)必須存在。改變編譯選項(xiàng)可以變?yōu)殪o態(tài)連接,這樣生成的程序運(yùn)行時(shí)不需要庫(kù)的支持,但是文件的尺寸一般較大。
linx的C標(biāo)準(zhǔn)庫(kù)都有,看你自己喜歡哪樣用哪樣。
當(dāng)要使用靜態(tài)的程序庫(kù)時(shí),連接器會(huì)找出程序所需的函數(shù),然后將它們拷貝到執(zhí)行文件,由于這種拷貝是完整的,所以一旦連接成功,靜態(tài)程序庫(kù)也就不再需要了。
然而,對(duì)動(dòng)態(tài)庫(kù)而言,就不是這樣。動(dòng)態(tài)庫(kù)會(huì)在執(zhí)行程序內(nèi)留下一個(gè)標(biāo)記指明當(dāng)程序執(zhí)行時(shí),首先必須載入這個(gè)庫(kù)。由于動(dòng)態(tài)庫(kù)節(jié)省空間,linux下進(jìn)行連接的缺省操作是首先連接動(dòng)態(tài)庫(kù),也就是說(shuō),如果同時(shí)存在靜態(tài)和動(dòng)態(tài)庫(kù),不特別指定的話,將與動(dòng)態(tài)庫(kù)相連接。
總結(jié)
以上是生活随笔為你收集整理的linux标准库是动态还是静态?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: procreate有安卓版吗?
- 下一篇: 房子备案退回是什么意思?