在Dev-C++中編譯與調(diào)用dll(附無反應(yīng)問題解決)

看之前請了解一下DLL是什么:

用vc6的老東西可以去BV1MF411w7Z9看看

編譯部分:
首先要新建一個dll項目

我們首先看dllmain.cpp:
可以先把默認(rèn)給的實例函數(shù)刪掉,再我們把自己編寫的函數(shù)加入到內(nèi)容里(記得要在函數(shù)的返回值的類型前面加上DLLIMPORT)
這樣我們就在dll文件里加入了我們自己的函數(shù)。
再看dll.h文件:
把原先的class刪掉,再把我們的函數(shù)聲明寫在里面,像這樣:
這樣就完成了,如果沒問題,編譯之后就會得到dll文件??赡軙棾鲆粋€警告彈窗,不用管它。


調(diào)用部分:
首先將dll文件移動到與使用它的cpp文件同一個文件夾,然后通過指針獲取我們在dll文件里的函數(shù)(要添加windows.h頭文件):
然后我們就能使用hello函數(shù)了,but我們發(fā)現(xiàn)控制臺里根本沒有輸出文本??!

解決辦法
在dll的生成目錄里找到??lib+(dll名稱).def??文件,這個應(yīng)該就是dll的函數(shù)表,在EXPORTS下面找到一個與我們編寫的函數(shù)相似的名字,再把調(diào)用部分代碼最后一行原來的dll函數(shù)名換成我們找到的就可以了

本人才疏學(xué)淺,文中有紕漏的地方請各位大佬在評論區(qū)指出,如果這篇文章對你有幫助也希望你能點(diǎn)一個小小的贊讓更多人看到,謝謝
點(diǎn)贊過10出視頻講解?