Re: [問題] DLL問題
※ 引述《pakker (找尋蔚藍天空)》之銘言:
: ※ 引述《billmin (hahaha)》之銘言:
: : 我看 http://www.ulinks.com.tw/win32/ 裡面DLL介紹
: : 說到DLL 連結有兩種
: : 一種是顯式
: : 用LoadLibrary()函式載入DLL
: : 接著使用GetProcessAddress()
: : 函式取得所要使用的函式的位址
: : 最後在不需要用到此DLL時,呼叫FreeLibrary()函式將DLL釋放
: : 另一種是把.h檔 跟Lib檔弄進去
: : 然後直接使用這個物件
: : 我想問的是 有沒有辦法用LoadLibrary的方式
: : 然後弄個物件出來使用?
: class A
: {
: private:
: int money;
: public:
: int getmoney();
: }
: DLLEXPORT A* getClassA()
: {
: return new A;
: }
: DLLEXPORT void Free(void *memory)
: {
: delete memory;
: }
: DLL 內 new/malloc 的東西, 只能從 DLL 中去 delete/free.
: (也有例外, 看 link 的 library)
: 詳情請洽 MSDN, 或者看一看相關的 source code
為什麼 "DLL 內 new/malloc 的東西, 只能從 DLL 中去 delete/free."?
我試了一下在 DLL 中 malloc,在使用 DLL 的程式中,得到這個 memory
block ,再 free,好像沒有問題,會潛在什麼問題嗎?
文中提到的例外,又是什麼呢?
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.204.129
推
04/10 22:30, , 1F
04/10 22:30, 1F
→
04/10 23:25, , 2F
04/10 23:25, 2F
→
04/10 23:27, , 3F
04/10 23:27, 3F
→
04/10 23:30, , 4F
04/10 23:30, 4F
推
04/11 00:08, , 5F
04/11 00:08, 5F
討論串 (同標題文章)