動(dòng)態(tài)加載:
1:靈活,可以在需要的時(shí)候用LoadLibrary進(jìn)行加載,在不需要的時(shí)候用FreeLibrary進(jìn)行卸載,這樣可以不必占用內(nèi)存。
2:可以在沒有dll時(shí)候發(fā)現(xiàn),而不致程序報(bào)錯(cuò)。
3:加載程序中有條件才運(yùn)行的庫(kù)。
4:熱更新,在不停止程序的前提下進(jìn)行更新。
5:復(fù)雜一些,需要顯示獲得函數(shù)地址。
6:dll沒有對(duì)應(yīng)的lib文件,此時(shí)只能進(jìn)行動(dòng)態(tài)加載。
加載方法:
靜態(tài)加載:
1:簡(jiǎn)單方便
2:沒有dll時(shí),系統(tǒng)報(bào)錯(cuò)
3:加載運(yùn)行很久的庫(kù)
4:dll必需有相應(yīng)的lib文件
加載方法:
1、確保有a.dll和a.lib,兩個(gè)文件都有的話可以用靜態(tài)加載的方式。
2、在.cpp文件中通過(guò)#pragma comment(lib, "a.lib") 加載lib,并包含相應(yīng)的頭文件,就可以使用dll中的函數(shù)了~
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。