字體:小 中 大 |
|
|
|
| 2011/06/21 17:01:00瀏覽2978|回應0|推薦0 | |
| 問題描述: 為了讓BCB使用其他C++編譯器產生的DLL檔案,首先使用靜態調度DLL的方式,方法為產生BCB需要的Lib檔案(使用implib MainAlgorithm.lib MainAlgorithm.dll 來產生) 包入*.lib後,在檔案開頭用 extern "C" __declspec(dllimport) int SearchSolution(char* info); 宣告... 結果:當我們執行 迴圈: while(SearchSolution(info)){....} 時候,且執行的東西夠大,立刻就會產生Overflow!!該怎麼解決呢? 這個問題,我解了很久,今天終於在一個大陸的網站找到解答,有趣的是,對方是問另一個完全不相干的問題,我就在想,該不會這有影響吧!一試下去!果然就靈!只能說C++Builder...我真搞不懂你啊XD... 答案....使用動態調度DLL大法!!!! 改宣告 HANDLE hdDll; int ( *Dll_SearchSolution)(char* info); hdDll=LoadLibrary("MainAlgorithm.dll");//使用WinAPI Dll_SearchSolution = (int( *)(char* info))GetProcAddress(hdDll,"SearchSolution"); 接下來改使用Dll_SearchSolution 取代原先的函數!解決! |
|
| ( 不分類|不分類 ) |










