Re: [討論] 非得用C++寫不可的原因?

看板C_and_CPP (C/C++)作者 (藍影)時間14年前 (2012/02/18 02:31), 編輯推噓6(6010)
留言16則, 8人參與, 最新討論串2/2 (看更多)
※ 引述《don750421 (1+1≠2)》之銘言: 整篇文章看下來,有些事要先釐清,不然會愈描愈黑, 盡可能把認為您聽不懂的專有名詞拿掉。 C / C++ ,這二個是程式語言,程式語言只有「規範」, 而去實作程式語言的規範,有很多公司(軟體),像是 Visual C++ 這套軟體, 本身實作了 C 與 C++ 程式語言之規範,只是他又提供了更多功能而已, 而程式語言之規範不該綁定於某個軟體之上 (所以也有 BCB, gcc 等軟體)。 C# 本身也是一種程式語言,只有規範,但特別的是這種程式語言之規範 只有微軟在實作,所以說它是軟體嗎?oh 好吧,它是。 它也綁定了在軟體之上。 前言恕刪。由於有關鍵字:「產線」, 我想要升級硬體可能不是件簡單的事。 : 於是使用某間廠商的Driver,然而,該間廠商也有C#版本的SampleCode可參考 : 所以在開發上也任何太大的問題。 通常是先去問這間廠商有沒有提供 C++ sample code, 一些做得較好的 document, 會提供多個程式語言 sample code, 諸如 MFC, Win32(C) , VB, C# 等。 : 第一間是以按Button的方式送出訊息,訊息內容包在每個按鍵的事件中。 : 第二間是開啟程式後需先import一個Library,訊息都寫在Library中 訊息都寫到 library 中?指的是有額外的函式去查看訊息嗎? 這方式在 c/c++ 還蠻常見的,諸如 GetLastError() 不也用這方式? : 如果要發送訊息,是從Library中以拖拉的方式拉到程式中的某個欄位中,就會送出訊息 : 第二間只有C++版本的文件(只有單純的兩三頁),也沒有任何的教育訓練。 我沒看過那份 document 長怎樣, 但若是小公司的話寫得很潔捷並不意外。 可能只像是 C++ reference 前半段說明: 函式名稱、函式功能、函式引數說明、傳回值說明, 但要個 sample code 並不是什麼過份的事。 : 我們經理就要我將原本利用第一間Driver所開發的架構,改用第二間的Driver改寫 : 但是,第一間所使用的方式和第二間的有所差異,不知道要怎麼改寫 : 跟我們經理講解之後,他卻認為程式的邏輯都是一樣,只是換個屬性和方法寫而已。 這個.. domain know how 是什麼我不懂, 但要改寫的話可能要先清楚 物件導向 是什麼,甚至可能連 Design Pattern 都要一點, 不過我納悶的是,經理真的是要把「一間公司開發的東西」, 轉交由「你一人重新開發嗎 (re-develope)」? : 以上說了很多廢話,重點是經理要我去買本C++的書籍 書單:#1F5OOCoO (C_and_CPP) : 要我改寫成C++的版本,這我又不知道該如何做了!! : 我之前只有稍微接觸過C,之後就直接碰C# : C++根本沒學過,更別說是MFC了 二個問題先想過 1. C/C++/Win32 API/CLI/MFC/C# , 和視窗程式有什麼關係? 2. 上面哪些不需 .Net framework 就可以執行? 第一題自己找,第二題是 C/C++/Win32/MFC 都不需。 然後有個觀念要釐清一下。 事實上寫視窗程式用 C 語言加上 Win32 API 就可以寫了, 你可以上網 google 一份免費的資源:theForger's Win32 API Tutorial - Winprog 裡面用到的都是 C 語言和 Win32 API 而已,就可寫程式。 但由於這種方式慢慢刻非常費時, 於是有些廠商將這些刻視窗(或其他資源管理等)的 API 以物件導向方式, 以 C++ 封裝成 class,方便呼叫使用,而 MFC 便是微軟封裝 API 之 class, 也有其他類似的選擇,諸如 BCB、Win32++ 等等。 : 而且,目前所開發的程式都是一些WinForm的架構 : 如果使用C++改寫應該要寫成MFC架構吧?? 我沒意會錯的話,WinForm 泛指是在 .net 上執行的, 只要避開 .net ,使用單純之 Win32 api 或一些廠商為其封裝好之 class 就行了。 所以的確到時 WinForm 會改寫成 MFC 或 BCB 或 Win32++, 想向你經理證明你實力堅強的話,你可以把所有 WinForm 全都改寫成 C 寫 Win32, 但這行為應該不會被允許。 : 想請問一下,使用C++寫,是不是就不用安裝.NetFramework? : 我記得有使用到.NetFramework類別的都要安裝啊!! : 有可能我寫MFC然後不用裝.NetFramework嗎? 如上所說, MFC 實際上是用 C++ 程式語言的規範, 去封裝了 API 成為類別,它在 199x 年就出現了, 而 .net framework 是從 200x 年才出現, 從頭到尾用不到 .net framework。 < 不過在猜想,你的情況會不會用到 COM componment 就不知道了.. > : 另外,因為我沒接觸過C++,那我該如何做起呢? : 直接買本MFC的書籍來K嗎?還是一定要買C++的書籍呢? : 目前是看中兩本書籍 : C++ :C++ Primer 4/e中文版 基峰 : MFC :精通MFC視窗程式設計:Visual Studio 2010版(附光碟) 松崗 : 想請問各位,如果真的要買書,哪本會比較適合我呢? Repeat again : 書單:#1F5OOCoO (C_and_CPP) Repeat again and again : 如果你沒 C++ 基礎,貿然直接砍 MFC 是痛苦、辛苦的事, 原因如上述,MFC 根本就是用 C++ 的概念去封裝視窗程式設計的東西而已,那你到底 該先學些什麼? < 最後小聲說,如果很急著想學 MFC 的話,學到後半段記得再學 Win32 API 會較好.. > 淺見,參考,也歡迎討論與指正。 -- 我知道 ~ 但別說出來 , 說出來讓人感到特別難過... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.165.40

02/18 03:03, , 1F
C#有非微軟的實作品,見 http://www.mono-project.com
02/18 03:03, 1F

02/18 03:47, , 2F
就我所知, Unity 不就有使用 c#, 只算實作 c# 的話XD
02/18 03:47, 2F

02/18 03:49, , 3F
Ivor Horton那本說MFC出現在物件導向規則之前...
02/18 03:49, 3F

02/18 03:50, , 4F
所以MFC跟物件導向規則就像蔣介石跟毛澤東一樣
02/18 03:50, 4F

02/18 03:53, , 5F
獲利跟壟斷層次還是不一樣....
02/18 03:53, 5F

02/18 03:54, , 6F
無限制的獲利就是壟斷.......
02/18 03:54, 6F

02/18 03:56, , 7F
沒有限制的慾望就是人性黑暗面
02/18 03:56, 7F

02/18 14:03, , 8F
小聲問一下: .net不能把所有用到的東西靜態連結起來嗎?
02/18 14:03, 8F

02/18 14:15, , 9F
它需要virtual machine
02/18 14:15, 9F

02/18 14:52, , 10F
littleshan 提的 web 好酷!! 長知識了。
02/18 14:52, 10F

02/18 14:53, , 11F
@damnfool:可能我名詞上使用有誤,上述說的物件導向換成
02/18 14:53, 11F

02/18 14:53, , 12F
"類別特性"或許好點..
02/18 14:53, 12F

02/18 20:17, , 13F
Mono和Moonlight 表示:
02/18 20:17, 13F

02/19 01:44, , 14F
C++不熟要弄MFC吃力 有Sample可改還混的過
02/19 01:44, 14F

02/19 09:55, , 15F
MFC 我只會Dialog Wizard
02/19 09:55, 15F

02/19 09:56, , 16F
記得把ESC熱鍵拿掉它就會很像是個一般視窗了
02/19 09:56, 16F
文章代碼(AID): #1FFfqI25 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1FFfqI25 (C_and_CPP)