這次我們使用VC寫(xiě)了一個(gè)dll文件,導(dǎo)出了一個(gè)類(lèi)出來(lái)。
有一個(gè)這樣的函數(shù)參數(shù):
void Fun(const string param);
我在一個(gè)dlg方式的工程里調(diào)用這個(gè)函數(shù)的時(shí)候會(huì)出一個(gè)異常。
后來(lái)了解到這個(gè)是由于我使用的運(yùn)行時(shí)庫(kù)是使用的“多線(xiàn)程 (/MT)”。這里是使用的dll方式,需要將dll工程里的“運(yùn)行時(shí)庫(kù)”換成“多線(xiàn)程 DLL (/MD)”方式。這樣就好了。
這樣就將dll文件的new與delete使用的堆都是使用的與同進(jìn)程相同的堆,也就不會(huì)出現(xiàn)這樣的問(wèn)題了。


