看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC2010 / VC2012 , CLI 問題(Question): 一些因素,迫使小弟接觸 VC CLI ( 其實真的不是願意的 Orz ),由於會寫到 GUI, 手邊參考書目挑 Pro Visual C++ CLI and The .NET 3.5 Platform ( 有版友覺得其他書寫的不錯可推薦,google CLI 結果,目前好像沒有聖經本或中文?) 然後目前看到 Chapter 7 ,基礎語言特性結束,準備要進入 GUI,中間有蠻多問題就是 (像是百思不解的 gcnew ... 或許多看幾遍再不懂,把問題一次整理出來問好些 ), 不過好一點的是裡面有 <cliext/vector> 、<cliext/list>,所以部份 Cpp 可適用。 最大的一個問題是,我 VC 開 CLR 專案 ( 不論是 console 或 empty ),發現其實 C++ 都可以吃 (含 header、識別字),就連 "Hello,World" 不論是 c-style 還是 cpp-style ,CLI 都全吃。但比較尷尬的是,在 class 那裡 CLI 分很細,且 OO 部份與 C++ 是有 些不同。我比較納悶的,我能不能像搞 C++ class 那種方式轉去搞 CLI ? CLI 三不五 時就在 ref class C{....}、value class C{....}、enum class C{...}看半天都沒 看到有單純的 class C{...} 單獨出現,所以在想單一識別字 class, struct 是否留給 了 C++ ? 另一個比較嚴重的問題, C++ 可掛之 library,(如 ffmpeg、OpenCV 等), 轉到 CLI 還是一樣可掛嗎? 謝謝各位不吝賜教,感激不盡! -- 世界上有種, 不可能 轉換為 無限可能 的強大力量, 我稱它為 - 信念 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.161 ※ 編輯: tropical72 來自: 180.177.76.161 (01/19 03:59)
azureblaze:標準c/c++語法的東西確實都留給了c/c++ 01/19 11:19
azureblaze:理論上CLI可以相容c/c++的東西,不過實際上嘛... 01/19 11:20
azureblaze:我通常會把c++ project和cli中間用dll隔開比較保險一點 01/19 11:21
azureblaze:因為通常要用CLI是因為本來用c++寫的東西要用.Net功能 01/19 11:22
azureblaze:掛CLI的dll進去對本來的project影響表較小 01/19 11:22
tropical72:疑!是掛 c++ dll 到 CLI 還是掛 CLI 的 dll 到 c++ ?? 01/19 14:09
tropical72:感覺 kernel dll 用 C++ 開發以後移植比較方便? 01/19 14:10
tropical72:謝謝 azureblaze 回覆。 01/19 14:10
tropical72:我看懂為什麼了,感謝 a 大指教 :) 01/19 14:15