我為什麼討厭MFC?
來源:互聯網
上載者:User
喜歡一樣事物需要理由麼?不需要!那討厭一件需要理由麼?我想,應該需要吧.
"我討厭MFC!"曾經我對一個同行說過這句話,他說:"你有資格討厭MFC,因為在wince下,MFC會影響速度".咋一聽起來似乎還挺有道理,但再想想,完全是假話.
MFC會影響速度?這句話如果放在兩年前,可能是正確的,因為那時候的嵌入式裝置CPU速度確實不快.但現在呢?動輒至少就300MHZ的速度,MFC能影響多少效率?何況我做的不是工業級的操控,而是應用級的產品,即使是C#的速度,我也是完全可以接受的----當然,我還是不會用C#去寫代碼,雖然速度屬於我可接受範圍,但為了運行C#代碼而加入的.NET精簡類庫而導致的OS的體積膨脹,我是無法接受的----本來OS才9M,加一個.NET精簡架構至少讓其再臃腫3M!
討厭總該有理由,我不如回想什麼時候讓我感到MFC的無奈.
一年前之久,寫個計算機,需要有普通型和科學性兩種介面.介面不同,但裡面的計算過程是相同的.所以,我就想兩個不同的對話方塊,同用同樣的一個訊息處理函數,也即同一個.cpp檔案.但在MFC裡,我實在找不到有任何方法讓我的想法賦之於實踐.無奈,我只好再重建一個CPP檔案,然後把原來的處理代碼COPY->PASTE.
半年之後,產品打算不使用explorer,而是自己做UI.只是發現去掉Explorer之後,一個非常簡單,預設產生的對話方塊程式,居然會出錯!實在無法想象,為什麼在WINCE下,MFC需要explorer才能正常工作!無奈,只好用SDK寫UI.
兩個月之前,想實驗一個極度無聊加變態的想法,就是讓程式需要調用N次PostQuitMessage()才能退出程式.只是我在產生的程式架構裡,我根本沒找到那個熟悉的TranslateMessage().無奈,我只好又拿起API.
所以,現在,寫代碼,已經習慣不去碰MFC,因為怕到時候有什麼稀奇古怪的想法,MFC裡我無法實現.
還有一點就是,MFC裡自動產生的程式碼,我實在看不懂,卻偏偏讓它在我程式裡獃著----不爽!
說白了,其實我討厭MFC的理由真的太簡單了,僅僅是因為自己的能力不足,無法駕奴MFC.只是,這真的可以成為我討厭MFC的理由麼?