亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2123 | 回復(fù): 5
打印 上一主題 下一主題

[C] 各種惡心的“庫”,大家一起來辨別和解釋區(qū)分 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2013-07-12 14:08 |只看該作者 |倒序瀏覽
本帖最后由 dxyf1524 于 2013-07-12 16:15 編輯

最新看書,看到了各種關(guān)于庫的名詞,即我們常說的libraries,發(fā)現(xiàn)了好多種說法,我自己都迷糊了,大家一起討論吧

庫————————(libraries)
靜態(tài)庫——————(statical libraries)
共享庫——————(shared libraries)
動態(tài)鏈接庫——————(Dynamic link libraries)
動態(tài)加載庫———————(Dynamic load libraries)

還有就是 共享庫的“隱式調(diào)用”和“顯示調(diào)用”。
這跟靜態(tài)加載和動態(tài)加載有什么區(qū)別啊,難道是一樣的?

大家說出自己的理解吧,最好能給出一些應(yīng)用的情形或者有關(guān)鏈接和加載時理解

##############
PS:最好討論C的,平臺最好是linux,ELF文件格式
###############

更正一些理解:

(1)動態(tài)鏈接與靜態(tài)鏈接
(2)靜態(tài)鏈接庫(靜態(tài)庫)與動態(tài)鏈接庫(共享庫,動態(tài)加載庫)
(1)和(2)的聯(lián)系不是太大,(1)是動作,(2)是名詞
(1)和(2)可以合理搭配
比如可以有靜態(tài)鏈接共享庫,動態(tài)鏈接共享庫,至于動態(tài)鏈接靜態(tài)庫可能就錯了,
因為靜態(tài)鏈接發(fā)生在生成目標(biāo)代碼的過程中,而動態(tài)鏈接發(fā)生在加載程序進(jìn)內(nèi)存后,動態(tài)鏈接器鏈接共享庫,
至于動態(tài)加載庫,是應(yīng)用程序調(diào)用的系統(tǒng)動態(tài)鏈接器的函數(shù),執(zhí)行與動態(tài)鏈接器鏈接一般共享庫一樣的過程;

這里我有些疑問,操作系統(tǒng)使用的共享庫或者說應(yīng)用程序使用的操作系統(tǒng)的庫都是怎樣加載或者什么時候加載進(jìn)來的??
迷糊了,我的問題都是迷糊的?求指正

再次更正理解:
我覺得靜態(tài)庫和動態(tài)庫都是共享庫??

論壇徽章:
7
天蝎座
日期:2013-09-28 10:45:42雙子座
日期:2013-10-16 16:27:09射手座
日期:2013-10-23 10:21:32處女座
日期:2014-09-17 16:44:332015年亞洲杯之巴林
日期:2015-04-09 17:28:01冥斗士
日期:2015-11-26 16:19:0015-16賽季CBA聯(lián)賽之山東
日期:2018-03-02 23:59:31
2 [報告]
發(fā)表于 2013-07-12 14:56 |只看該作者
我的理解,不一定對
庫————————(libraries)                                           --所有下面的總稱(除了動詞)
靜態(tài)庫——————(statical libraries)                               -- 編譯時被鏈接入二進(jìn)制代碼中, libxxx.a就是靜態(tài)庫
共享庫——————(shared libraries)                               -- 不清楚,所有的庫都是共享的吧?
動態(tài)鏈接庫——————(Dynamic link libraries)                 -- 這是一個名詞,而不是一個動詞。  libxxx.so就是動態(tài)鏈接庫
動態(tài)加載庫———————(Dynamic load libraries)             -- 這是一個動詞,而不是名詞。    應(yīng)該就是顯示調(diào)用dllopen

還有就是共享庫的“隱式調(diào)用”和“顯示調(diào)用”。
這里就說下動態(tài)庫的隱式調(diào)用和顯示調(diào)用,但不說共享庫的隱式調(diào)用和顯示調(diào)用。 共享庫是什么?庫應(yīng)該都是共享的吧?
1.隱式調(diào)用,gcc 1.c -lpthread -lm   --編譯時鏈接
        然后代碼里面直接用庫函數(shù),pthread_create...
2.顯示調(diào)用,gcc 1.c
        代碼里面如果想使用pthread_create,應(yīng)該使用dllopen打開libpthread.so,dlsym獲取pthread_create函數(shù)的指針,才可以使用

這跟靜態(tài)加載和動態(tài)加載有什么區(qū)別啊,難道是一樣的?
1.個人覺得靜態(tài)加載就是隱式調(diào)用的編譯時鏈接
2.動態(tài)加載就是顯示調(diào)用的dllopen

論壇徽章:
0
3 [報告]
發(fā)表于 2013-07-12 15:50 |只看該作者
靜態(tài)庫是編譯器鏈接的時候確定靜態(tài)庫的地址,靜態(tài)庫載入到了目標(biāo)文件。
在執(zhí)行的時候,多個應(yīng)用程序無法同時使用同一個靜態(tài)庫代碼段,而且加載靜態(tài)庫就是伴隨目標(biāo)代碼一起加載,靜態(tài)庫此時就像一個代碼段一樣
共享庫應(yīng)該至少是在程序加載的時候由鏈接器分析加載的目標(biāo)代碼所需要的庫,此時連接器會導(dǎo)入共享庫(如果從前系統(tǒng)沒有導(dǎo)入過,
如果導(dǎo)入過,則可以進(jìn)行共享,一般通過虛擬內(nèi)存的管理接口實現(xiàn))
而動態(tài)加載庫雖然也是共享庫,但是他比共享庫多了一些東西,稍微復(fù)雜,就是在程序編譯的時候連接器似乎不知道我們加載的共享庫
在程序執(zhí)行的時候,通過系統(tǒng)提供的接口載入一個外部共享庫,此時我們調(diào)用的載入程序會處理一系列的鏈接和載入問題。
總的來說,就像我們寫程序時寫道{fopen(“hello.txt”)}編譯器在編譯完程序的時候,是不會搭理這個文件的,直到我們的程序執(zhí)行到那了
“隱式調(diào)用”和“顯示調(diào)用”我目前還沒看到英語文獻(xiàn)中有類似說法(知道的,一定要告訴我。。
國內(nèi)的顯示調(diào)用差不多等價于我們說的庫的動態(tài)鏈接(這里也應(yīng)該有動態(tài)加載的過程),隱式調(diào)用
給我的感覺就是我自己寫了一個m.c和m.h,,m.h聲明了函數(shù)和變量,實現(xiàn)的時候在m.c,然后就想m.c編譯成了
靜態(tài)庫,使用的時候和不編譯成靜態(tài)庫一樣,直接#include“m.h”。
也許編譯的靜態(tài)庫和不編譯成庫代碼會有區(qū)別么??
求指點和批評

論壇徽章:
0
4 [報告]
發(fā)表于 2013-07-12 16:22 |只看該作者
有本叫做 程序員的自我修養(yǎng) ,介紹的挺好

論壇徽章:
0
5 [報告]
發(fā)表于 2013-07-12 16:47 |只看該作者
回復(fù) 4# aychxm

有機會會去讀,目前我還太菜,基本的東西還需理解,概念都十分模糊
   

論壇徽章:
14
水瓶座
日期:2014-06-10 09:51:0215-16賽季CBA聯(lián)賽之江蘇
日期:2017-11-27 11:42:3515-16賽季CBA聯(lián)賽之八一
日期:2017-04-12 14:26:2815-16賽季CBA聯(lián)賽之吉林
日期:2016-08-20 10:43:1215-16賽季CBA聯(lián)賽之廣夏
日期:2016-06-23 09:53:58程序設(shè)計版塊每日發(fā)帖之星
日期:2016-02-11 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2016-02-09 06:20:0015-16賽季CBA聯(lián)賽之上海
日期:2015-12-25 16:40:3515-16賽季CBA聯(lián)賽之廣夏
日期:2015-12-22 09:39:36程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-24 06:20:002015亞冠之德黑蘭石油
日期:2015-08-07 09:57:302015年辭舊歲徽章
日期:2015-03-03 16:54:15
6 [報告]
發(fā)表于 2013-07-12 17:40 |只看該作者
什么叫有機會?
什么時候有機會?{:3_188:}
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP