挺長時間了吧,這個帖子還沒沉下去,使用MFC開發有十多年了,結合自身的體會,隨便說幾句:
1、MFC是一個C++的基礎類庫,封裝了絕大多數的API函數,主要是用來創建帶UI的應用程序,服務端程序或着不帶UI的模塊用STL更好,不建議MFC;
2、MFC是一個框架型類庫,封裝復雜,為簡化代碼使用了大量的宏,隱藏了大量底層細節,初期接觸會感覺晦澀難懂,對使用者的要求較高,學習周期長;
3、MFC中創建程序主要是SDI、MDI兩種主要應用框架(對話框程序簡單,不認為是框架),熟悉之后可以靈活擴展,同時自動獲得了動態創建,序列化等通而重要的機制,不熟悉則會感覺無從下手;
4、MFC類庫開放全部源碼,在VC6配套的4.2版中連make文件都有,用戶可以自行定制修改編譯出自己的版本,之前就曾經為一直一個大量應用MFC的程序到LINUX平台,自行編譯了一個跨平台的裁剪版MFC;
5、MFC誕生比較早,最終的4.0版好像是win95時代隨着vc5發布的吧,后面的一系列版本感覺都沒有顛覆性的變化,在PC滿天下的時代,對PC端UI程序開發的支持,幾乎是MFC的全部,對移動設備、觸屏設備、嵌入式設備等平台的開發,盡管也有,但一直沒成為主流,所以如果是非PC應用開發的話,建議您最好離MFC遠一點;
6、MFC自身帶的UI類,界面不夠絢麗,一些復合型的復雜控件不夠豐富,使用的時候最好搭配一些擴展類庫BCG等;
7、個人感覺MFC只是一個擅長於PC平台UI應用程序開發的一套類庫,QT感覺更傾向於寫一些跨平台UI應用;
8、C#這些年也有所涉獵,但主要用來寫WEB程序,桌面程序也寫過,各種類封裝的非常多,開發效率高,但是有時感覺封裝過度,而且讓使用者遠離事情真相,有一種隔靴搔癢的感覺,對於我這種操作系統都想自己編譯完跟進去調試的人來說,感覺超級別扭,另外一個就是運行期即時編譯的方式也感覺很不爽,還有就是安全性,不混淆的代碼用工具一分鍾就能把源碼逆出來,即便是混淆后的,如果抽一天時間學習以下IL,也是輕而易舉的事情,凡此種種吧,.net基本上也是能不用則不用。
http://bbs.csdn.net/topics/391817496?page=12
MFC的優勢: 比直接使用WINDOWS API開發界面快 有對象概念
MFC的缺點: 不能跨平台
開發速度慢
不支持界面數據分離 容易寫出不可維護的代碼
窗口太多需要關心雙緩沖閃屏問題
界面開發速度普遍跟不上需求變更速度
總之MFC垃圾的不能在垃圾了 它是垃圾中的戰斗機 垃圾中的J-8 戰斗力就是個渣渣
------------------------------------------------------------------------------
不能誇平台,是你自己方法不足
開發速度慢,是你自己經驗不足
代碼難維護,是你自己水平不足
雙緩沖問題,是你自己能力不足
開不動飛機,就說飛機是垃圾
碰碰車最好開了,兩歲的小屁孩都會,可先進
中國特色的工程師啊
天天嫌棄人家的集成環境
自己編一個集成環境不就有了嗎?
寫一個集成環境又不是很難
好了,2B們又來了
那那是一個人能做的啊,那得多有水平啊
2B們就這樣
光想吃好的,還等別人喂到嘴
最后喂不到嘴的就是差評
最后也就只剩個B嘴了
http://bbs.csdn.net/topics/391817496?page=13
很多時候,使用的工具越先進,人越笨;得到得越輕松,人越懶。
C體系的,匯編體系的,以及匯編+C體系的人,絕對不怕人踢館
------------------------------------------------------------------------------
沒讀過MSDN例子代碼的Windows程序員都是在瞎混!
MSDN98\SAMPLES\VC98\*.*
想結束瞎混生涯的Windows程序員請下載安裝MSDN98:
MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix,
MSDN98_2.ISO http://pan.baidu.com/s/1bnGo0Vl
MFC 2.0的源代碼在Visual C++ 2.0的光盤上就有。
VC++2.0 MSVC20 "Microsoft Visual C++ Version 2.0" "1994 Microsoft Corporation"
http://download.csdn.net/detail/zhao4zhong1/3253384
Windows下的grep0
grep 多文件查找指定字符串 來自C:\Program Files\Borland\CBuilder6\Bin\
http://download.csdn.net/detail/zhao4zhong1/4381913