[問題] dll 設計的觀念 和一些問題

看板C_and_CPP作者 (我愛阿蓉)時間16年前 (2010/01/07 22:22), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串1/2 (看更多)
http://nopaste.csie.org/935c6 以上是我一個 很粗略的.h檔案 目的是設計一個blackjack的遊戲 因為是要寫在win32上 我觀念上 感覺win32 是message loop 所以感覺我必須要把 Deck, Player 之類的物件宣告在全域 讓我覺得不太好 所以我把他用一個class包起來 當成singleton 想說要用的話就用CBlackJackGame::GetInstance()->GetMyPlayer() 去存取 在這邊想問 我這樣設計有沒有問題 因為平常寫程式都是console 就一個while loop去跑.....現在要搞到win32程式讓我有點 不知如何設計 這是第一個問題@@ 第二個問題是 const Player& GetDealer()const 我認為我回傳一個const &好像不對 這樣我就無法呼叫set等 會修改member的函式.... 但不加上const 又type不對 compile不會過@@ 還是都不用加 不要多此一舉 但是我之前也是常看到這種 回傳const&的.....請問一下什麼時候該回傳const &呢? 還是只有回傳一些primitive type再用就好 = = 第三個問題是 因為最近有必要學習如何寫成dll 但我百思不得其解 想問一下板上前輩... 粗淺的觀念是  我們做成dll 應該是提供user .dll和.lib和.h 各一個 如果以上這支程式 再怎麼想 也要給對方 Player.h + Deck.h + BlackJack.h 這樣好像不太對 是不是要往上包一層interface 都一堆pure virtual function 讓這個class CBlackJack去繼承他 去override這些function 但是我怎麼想都不知道要怎麼去 抽出 還是我對dll觀念完全不正確 要輸出成dll的東西到底是什麼樣式才該輸出成dll... 我理想是編譯出一支dll 讓我另一支程式 UI介面下 很輕鬆的就可以去用我提供的dll 可是我架構完全無法設計 觀念好像卡死了= = 請求各位給予指教, 現在進入寫程式不能只寫給自己看得階段了.... 所以問這些問題 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.73.81 ※ 編輯: QQ29 來自: 123.192.73.81 (01/07 22:50) ※ 編輯: QQ29 來自: 123.192.73.81 (01/07 22:54)

01/07 23:08, , 1F
你期待將來有應用程式不需重新編譯的要求時 就可以dll
01/07 23:08, 1F

01/08 00:15, , 2F
另外想問~VC開專案選dll 下面溝匯出符號 有溝跟沒溝差別在哪
01/08 00:15, 2F

01/08 00:16, , 3F
感覺 溝了 比較完整耶
01/08 00:16, 3F

01/08 01:29, , 4F
想問一下 寫dll目的是要隱藏所有實作讓別人只看到interface
01/08 01:29, 4F

01/08 01:29, , 5F
還是 我這CblackJack.h 其他的.h也都給別人看 沒關係?
01/08 01:29, 5F

01/08 01:30, , 6F
感覺dll目的就是只提供interface給別人call 我這case似乎做
01/08 01:30, 6F

01/08 01:30, , 7F
不到耶.....請大家給點觀念thx~
01/08 01:30, 7F
文章代碼(AID): #1BHUu_Lk (C_and_CPP)
文章代碼(AID): #1BHUu_Lk (C_and_CPP)