<2007-04-17>
1- 插件導(dǎo)出函數(shù)設(shè)計(jì)成C形式的也就是在函數(shù)前加 extern "C",這樣保證動(dòng)態(tài)連接的時(shí)候不會(huì)出現(xiàn)找不到名字的情況.
2- 一定要保證代碼絕緣,中間接口一定要傳遞NATURAL類型或者純虛指針,否則會(huì)因?yàn)橐恍┘?xì)微的類版本不同而導(dǎo)致很多很多的運(yùn)行錯(cuò)誤和異常.
3- DLL中分配出來的內(nèi)存,一定要在DLL內(nèi)部釋放,否則會(huì)導(dǎo)致意想不到的情況.
4- 如果不是萬分必要不要使用DLL直接導(dǎo)出類,而應(yīng)該導(dǎo)出純虛接口.不然使用DEPENDENCE等工具會(huì)把你的類結(jié)構(gòu)看的一清二楚.
5- 如非必要,請一定要使用動(dòng)態(tài)連接,也就是LOADLIBRARY, GETPROCADDR的形式,這會(huì)增強(qiáng)你軟件的友好性.
<2007-04-18 11:05 am>
6- 如果你要提供對象工廠,那么確保你的對象的純虛接口要有 virtual ~InterfaceClassName(){} 這樣的析構(gòu)函數(shù), 確保在你混亂不堪直接去刪除一個(gè)接口指針的時(shí)候能正確的調(diào)用到接口實(shí)現(xiàn)的析構(gòu).
<未完待續(xù)>