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