作者tropical72 (藍影)
看板C_and_CPP
標題[問題] About VC , CLI 是否相容 C++ ?
時間Sat Jan 19 03:42:43 2013
開發平台(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