下沙论坛

 找回密码
 注册论坛(EC通行证)

用新浪微博连接

一步搞定

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 3005|回复: 4
打印 上一主题 下一主题

[转帖]vc++学习精髓(收集,整理)

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-3-19 02:32:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
vc++学习精髓(收集,整理)" Q6 y* S# w1 N. b: Z -------------------------------------------------------------------------------- 1 H" K7 \2 e8 o( _, [ C8 J 6 ?- L$ y+ z8 J3 J7 ~2 |0 K4 Q U作者: 来源:csdn 更新日期:2002-08-06 浏览次数: 8 d3 d2 x, T" u, d: ] ; N" C/ s3 e# a0 K9 |6 m3 N以下是很多VC爱好者的学习经历,希望对大家有所帮助: 2 n9 R: \* o1 C - q! N5 e% l* j, P! @" J我记得我在网上是这么说的:先学win32的SDK,也就是API, 2 U4 L2 U+ W/ }再学MFC,这么一来呢,就先有个基础,MFC是API的封装, " m) v; t4 a2 p O 如果API用的熟了,MFC上手就轻松的多了。 - P$ G4 G! Z* a7 T: ? q" z9 T6 ?& R* } 我觉得呢,现在不少WINDOWS编程入门的好书很多,多买一些,多看看,多想想。不要心浮气躁。我的经验就是一边看书,一边写程序,看看是不是书上说的那样。看书看明白了不行,自己做对了这个过程体会就不一样了,做的多了,就慢慢会有“悟”的感觉。就入了门了。一般从刚开始学WINDOWS编程(前提是C/C++至少要懂得C的一般常用概念)到基本熟悉,一年时间也差不多,如果在公司里,可能会快一些,主要取决于自己,如果每天都很多时间看书就要快许多。 q7 f- Q3 U9 S; u 这是昨天一个网友提出和你同样的问题。我这样说的。你说推荐的书籍呢,那倒真是有不少好书非常值得看看,学习c++的有《c++编程思想》,学习api就是win32程序员参考手册,一般叫sdk。学mfc呢,那就更多了,书店里的不少书都可以拿来看看,看的多了,自己也就知道什么样的书最适合自己,不同时期欣赏的口味都不同的。比如说刚开始,就特别想找vc如何使用的书,刚接触win32编程就想如果能有手把手那样的教就好了。这些书都有的。我的习惯就是,多看书,然后才有鉴别,知道什么样的书算是经典,什么样的书尽管没多大用,但是对特定的人,特定的时期,特别有用。 * q( T9 ]( f$ {- a- _买更多的书,看更多的书 # v) G+ [) a3 c 其中《Visual c++ 技术内幕》和《深入浅出MFC》不可不买 $ f' i h" d" e: B 中国人学不好VC的原因很简单:英语非常差,不会看英文版的MSDN/CD,大学里的教育全是垃圾,设备又差,许多学VC的家伙不懂MASM,连WINDOWS Message cycle system 都不了解,学什么学???不过不要紧!据我所知,全球使用C++的人不过30万,且多数是用BCB(用控件来写容易啊!!!???)要知道,根据MS的资料,它出的书最High class 的一类只不过卖出20万左右,(ps:I forgot bookname!!!)要想学好VC,先学好英文,再去 ! H5 V Z8 g5 g5 \. ^' vCodeguru.com之类的网站D/L source code !不要买国人自己编写的书(翻译的除外)最好是MS出的书,既然是用MS的工具,这是当然的,还要定期买MSDN/CD,MS的人开发人员每人一套!!!!要谈的太多了,一句话: 6 n# B$ P3 v: F' ]5 c3 o, F 学好VC=英文好+基本功好+勤奋+聪明.少一不成的啊!!!! 6 f3 y9 [: [" `, ?( g$ s. ~3 _) a我觉得初学者先不要看MFC,API,Windows编程之类的东西,最重要的是先弄懂什么是面向对象,什么是类,要是弄不懂类拿学起来就真的累了! ( a5 l, x/ o1 X& w! P1.先找一些傻瓜书,一步一步教你,CLASSWIZED,单击,双击,右键...,...加入函数代码....编译,运行...(真正的傻瓜!) ( H9 S) y7 W2 v+ d! T* p! k" g2,分析代码,头文件,消息宏等,找来书慢慢研究吧.哦,这函数有这些参量.....哇,老兄,WINMAIN()是做什么的???????指针,类,继承,重栽,折构...... 0 x- E l x8 J! D2 M 3.书书....<>,95元,<<深入C++类库编程...>>,SAME图书,什么,105元... 6 J, G: V( p& R# a! @& r1 q. b* o清华,希望,机械,电子,什么出版社...... 7 n! l4 v: ~- @8 G% p2 Y" c$ l' N 4.邮箱--->WYY,小辉程序员之路,VC++王朝更换通知....,邮件列表??? $ j% w- ?8 ~, m5,Building.... 1 j7 q* ?; c! B& `9 x* A7 U 75435465734个错误,584764576857684警告??????? : Y. Y8 b+ J+ m* i* C哪位兄弟快发邮件给我啊,我受不了了! + A8 {! y: v. ]# B0 H. f+ B% ^ 妈呀........ 4 Q! f/ X0 v% K# {2 o9 S) X, A& Y 说起来我学VC也有些年头了,想当年玩了3年游戏却在大四为了毕业设计开始接触Windows编程。没办法,天生的手短心长,导师原来要我用DOS环境的。偏偏一开始有抱的是MFC,有一点C++基础的我看得是两眼发黑。当然,设计是泡汤了,还好导师放我一马。 - c4 W5 h" [, u工作以后才切身感受到,学Windows编程是要从API,从SDK玩起的。这还是我当年去一家台湾游戏公司面试的惨痛教训。我那个时候因为默不出一个完整的WinMain()和WindowProc(...) Windows SDK程序架构惨遭淘汰(其实现在大多的Windows游戏还是用SDK的)。 1 y4 J, a- P6 l; i$ H; r在我看来,写Windows程序的人对API不了解是不可想象的。我现在还没有用VC编出一个我自己认为象样的东西来,但我还是坚持用我的业余时间去和她增进感情,也许,这是一个技术人的老毛病吧。刨根问底,对Windows也不放过。 : N6 S' ~$ D- Z 还有,就我觉得,语言这个东西其实就象老妈厨房里的各种菜刀,各有千秋的。人天生的对东西会产生偏好,但拿水果刀切菜和拿大菜刀削水果是一样吃力的。我以前也认为天下有了VC就已足够,可现在两样。 5 o/ h9 W! y* O* u4 a5 ~9 Q 有人说过,存在的就是合理的...... , H9 u# I0 T5 v 各位友人,我觉得学VC,熟悉C++的面向对象与WINDOWS编程技术是必要的.另外多看看别人的源代码,弄清程式所来龙去脉也,弄清程式的运行机制格外重要.至于你不太熟悉API,我看这并不重要,因为这么多API,试问谁能记这么多,不知道的查MSDN.初学者切莫心浮气燥,循序渐进,相信他日 % |: S/ F* J- V# g你也是VC"高手". ; U6 U& J4 e! M/ x, P, |. f" } 不过,想精通VC还没有这么简单,我以什么VC,VB,BCB... ) i% b) z3 T0 r: k只不过编码工具,大家不必拘于此.VC确实是一把好剑,像独 & r$ D7 }: U8 I( V$ _' l孤九剑也是一把剑,但没有一点内功,这把好剑不是那么好用的. ( L9 T1 ?) Z8 m* b& s/ E8 s& z% _/ c- n我觉得学任何语言都无所谓,关键是要掌握程序设计的核心——算法和数据结构。各种语言和开发工具就好比各门各派的武功招式,而算法和数据结构则好比内功心法和武学原理,内功高强了,任何招式到了手上都能化腐朽为神奇,掌握了武学原理,则能无招胜有招。所以,建议大家多花点时间学习基本功,一味地追求各种开发工具的开发技巧是没有意义的。因为各种开发工具会不断地更新,比如今天你在学C++,明天微软搞了个C#,你又得跟着学C#。但是如果基本功扎实,掌握了程序设计的核心思想,不论什么语言都可以很快上手,无论何种开发工具学起来都事倍功半。我并不是否认学习各种语言和开发工具的必要性,只是要提醒各位初学者,学会C++语言或学会用VC编程并不等于学会了编程!编程的关键还在于数学模型的建立,数据结构的选择和算法的设计! 2 V/ b4 l! u9 g0 V: N) u1 y 内功=算法+数据结构+编译原理+*作系统原理+软件工程+英文 # @- K' |+ ]# z6 D2 M5 R你到 http://www.csdn.net /;;看看,可以找到《深入浅出MFC》2e电子版下载! : K* ]: R( E6 |# U. ]0 c 有一本书很好《WIN32程序员参考大全》即可了解WIN C SDK,又可以了解WINDOWS,一举两得。就是有好几本。可以到VC知识库网站的电子图书栏目下载。 . }- G R! r* H9 j5 f) U 我认为需要三本书, & S1 Q$ _2 V4 B& i8 O 1 <> 美 Jeffrey Richter.清华大学出版 99元 2 b0 Y8 q+ ?; x7 U+ q8 f5 T2 <> 美 Charles Petzold 北京大学出版 160元 ! T9 }+ O0 Q& } I3 _2 F! B5 | 3 <> 美 Jeff Prosise 是英文版的 北京大学出版 198元 * G) R# _# {6 {& M7 N2 }还有更好的选择吗?我不相信! + D3 S& @* W. K8 B我学vc也半年了,c和c++的功底不错,对vc感觉还可 ) w+ K* ]5 |( H, ]3 N: {以。我认为学vc也有些技巧,可以事半功倍。 8 t" |5 N0 F* B4 \0 `2 C9 Q$ ~- d vc的书要跳着看,先把api,windows运行的概念看懂, 4 R& T- m$ T$ ]/ S8 k4 u2 b) G 再看mfc其实只要你c++学的好,mfc几乎没多少可看的, 7 L6 u3 s) J: q- ~% Z7 U7 e0 R就是一些功能的封装。vc其试只是工具,精华都在windows 6 Y3 Y! X8 { i/ u 程序的流程上。 ' K' z! b' _7 x( f) t# T3 w& o掌握好概念后,就是狂背各种api函数和mfc封装的 + J2 E* F' t3 a& z 成员函数。 - p1 ^" e) p7 F8 @" _' W' q5 U 最后就是研究mfc代码和其它原代码 # Z0 [3 Q1 d2 P! \* I& T9 D我学vc已有些时间了。但总有的地方不清楚。到网上去问“高手”,老被骂的狗血碰头,到头来,还是一头雾水。后来买到一本好书, ' a' E g+ Z, }8 ]+ l8 kThe MFC Answer Book, Solutions for Effective Visual C++ Applications / w; c$ O! E$ x: R' i5 V Author: Eugene Kain + C( j! _3 t0 F! s0 |! VPublished by Addision-Wesley 1 W9 x/ t" P- p* A/ J 个人认为学习VC的前提是C++,特别是虚函数、派生、和指针,余皆不足虑也。 . \& d- J' W- h$ I. ]# U vc 的瓶颈就在于各种api和mfc封装的函数调用。例如你知到 + s6 e. n L- e/ `3 p) B ddx在update()运行时默认凋用dodatachange(),等等一些函数刁用。vc顺脆是小菜。 * _9 a2 c# a9 m1 l8 ?* R# ? vc本身就是傻瓜工具,微软开发vc原意就是要缩短 $ z: C7 f! c9 y* x, Q, _9 }程序员培循时间。可国内有人据燃要用几年时间来学,真是太可怕了,太可悲了。学会了只能在windows平台上开发,那末你那有时间去学其他平台的程序开发。 7 r1 T. b/ i2 r$ \' Z' N) ?$ Jvc只是工具,关件在学windows*作系同,windows 4 e2 l3 e" q& i 通了,vc最多半年。 . t- R1 k. V1 l. Z- \; _ 劝大家一句,不要在看身末“深入浅出”之内的 : C5 y# M J$ C4 Q2 e7 f! y; Z 书了,去找一本专门讲vc库函数的书看,这才是精通之道。 / I3 n3 o6 Q, j. }) U1 _ 住:以上经验只试用于,具有很强c/c++遍程能力者。 & V# V5 S% h7 `; Y J我觉得学vc要先从c,c++学起,然后是api和mfc(英语很重要,不过不用怕,用金山词霸边查边学,等你vc入门后,你的英语阅读能力也会上一个台阶); k. \& o9 O! l0 l 另外我要的经验是学的时候不要钻牛角尖,学语言关键是 3 B9 s. _" @8 x( w" S! z* P7 Q学语法和概念(继承,重载,多态性...),其次才是某某函数怎么用之类的东西. ) U; C. Z/ s' R% Z. a9 N1 ?; R- I (学windows编程一定要掌握消息机制) + C, Z/ K) Q" m; {5 E 要想学懂VC必须: , g- _+ m- Q9 M8 N1、找几本好书:《window程序设计》只看前几章,看懂 * X0 [' ]$ [4 {+ d6 `windows的消息机制,Api的结构; 1 q$ g9 u! m! |0 @; ]- c7 h1 |《mfc深入浅出》全面学习,深刻理解mfc的结构 , m# F% k: e4 j6 p4 T _* O: y 2、编一个较大型的项目,不停的使用VC,边用边理解看 ' _; _- r( P# V0 A过的东西; $ k N& p+ S% e2 k8 B8 C) b4 o% _ 3、经常看优秀的源程序。 1 K9 r! I* j+ ` j 我本来无资格发言的,因为我也是一个多月前才决定学VC的。我总结一下以上n位的发言(随便练练指法): 4 g _7 q& [6 m! R1.在学vc之前最好能有点其他语言的基础.(没有也没多大关系) # _' v+ F) {; ?6 J4 S2.学c++之前不必学c.(当然会c会快点) % U; Z! ~1 K' v4 P3.c++的一些概念很重要(如:对象,类,构造、析构函数,继承,模板等),最好弄透(怎么弄透,谁告诉我?)好书推荐:<>(<>screen.width-300)this.width=screen.width-300'>39.00元,适合对c++较熟悉的人.(有没有适合白痴级的好书,让我弄透以上重要概念,麻烦介绍一下) # \9 A# @* g% U; L h* S 4.API---->MFC.好书推荐: 6 p5 [7 N8 a, z: J# G2 T(1)<<深入浅出MFC>>(<>screen.width-300)this.width=screen.width-300'>80.00元,701页.电子书下载:www.csdn.net(不过是繁体版的,有些术语和大陆不同).购买:www.huachu.com.cn. www.beijingbook.com, 人民时空.(第一家最便宜) : C# `; L2 ?# L, b' l(2)<>(<>screen.width-300)this.width=screen.width-300'>96.00元,900多页.最好买第四版的(清华出版,潘爱民翻译),电子书下载:至今也没找到(只有第五版,English的),一些网站上说的好听其实都是些原代码(害我下了100多兆的原代码,这些人建网站干吗,吃饱了撑地,这里copy一些,那里copy一些不看一下就上传,有什么意思) .购买同上. + @* q6 `, _% n$ x (3)<>(<>screen.width-300)this.width=screen.width-300'>(第五版,以前的版本叫<>我没找到电子书(www.ssreader.com好像有)和购买网站)160.00元,1346页 电子书下载:至今也没找到(只有第五版,English的), .购买同上. 8 r) ?+ m o5 v 以上的书有人看懂了,说好 " p9 C! i3 }" {有人没看懂,烦恼 6 A9 j) G+ S3 \$ Z$ y" _) x7 M; A fang说:什么样的书尽管没多大用,但是对特定的人,特定的时期,特别有用 + M0 _5 i' X" q; ~, G我说:尽信书不如无书 2 ^- |7 g6 U8 B 5.边学边练,多看MSDN,英语不好的人,会费尽一些(我算是完了,真的很傻,以前马老师对我不错,想起来真对不起他(对不起的是你自己)) 7 _$ L( R9 f7 u/ }学习VC,MSDN既重要也不重要,关键是先后问题。建议你先看 侯俊杰的《深入浅出MFC》,买不到的话可以到我的主页的电子书下载理去下载。要是你是成都的话就比较幸运些,成都有这本书卖哟!!!相信看过这本书后,你就知道该怎么学VC了。MSDN在电脑城去买,4元一张。一共3张(新版,老版2张)。 ' p- @4 \. E1 c7 @7 T好了,先把上面做了!快行动哟!!! 2 r% F' E4 k8 c9 S 我是一个大一的学生,读计算机的。我对编程很感兴趣,我以为可以在学校学到好东西,于是就慢慢来学,现在差不多有一年了,谁知连个屁也没学到。直到我来到这,被大家的热情感动了。我决定自学。后来我听说有些大学生能通过高程。于是我就买了[离散数学],[C程序设计],[计算机英语]学起来.听说还要学[数据结构],[*作系统],[编译原理].请问要学完这些要多少时间?先声明我是一个菜鸟.还有应该先学哪些?我正在为此奋斗,希望大家指点小弟一下. 2 v4 b! Y3 e+ z5 P, @ 学VC我认为有益下要点; 1.要对win95*作系统的特点了解。如:多任务,消息映射等。 2.面向对象的设计特点,即类,需要学好C++。 3.对MFC也要有一定的认识。 4.真对一实际问题深入编程,不投机取巧,老实下功。 0 T/ {+ F. j& {) U& k 过去我在VC上下过很大的功夫,光MFC,WIN32API手册就看过很多遍。我认为学好VC的关键在于对Windows 系统的了解,如果连某个动作对应的消息都不知道,又如何处理它了。 $ _) B. s$ {' K/ i* k3 E VC 进阶:1. C 语言;2. C++ ,OOP;3. Windows 运作机理,SDK编程;4. MFC类库,应用程序框架编程;5. ActiveX,ATL,COM……每步骤通常需要6个月,最快也得3个月,诸位同意否? 9 i9 O/ z0 [/ A! O) L学 VC 或 windows 编程分三 STEP:1. 只 SDK 提供的 Function 作开发,不要Object, 你会知 How to handle Message. 2. MFC 编程, 用 CEdit 等开发.3. 再用 VC如果你有一个别人的好程序, 不妨自己跟着他的思路,从小到大自己完成一遍。好书:<> 学习VC++有相当的内容要学,而最后的深度则看个人的悟性与勤奋了。1)掌握最新标准的C++。 如果曾经在大学里自以为学过C/C++,还对dynamic_cast/static_cast/template/try/catch/throw/stl/...感到陌生,那你该Refresh一下新的ANSI C++标准了。 ----此与VC++无甚关联,g++/bcb均有所支持。(2个月)2) 学习SDK编程;:-O (6个月) 痛苦是暂时的,必要的,坚持就是胜利! 建议用Lccwin32/Masm32/Tasm编写小而精的工具软件; "Windows Programming Guide." "Advanced Windows programming "3) 研究MFC源代码。(6个月) 不要被一大堆的宏所蒙蔽,just track and dig into it!! 在知道MFC如何扩展,包装SDK之后,自可功力渐进,不被其MFC系统框架所困绕。 "MFC Internals"4) 研究OLE/COM技术。 COM/ActiveX技术是MS的核心技术,只有彻底洞察其理论精髓才可以体会现在的*作系统的技术趋势,以不变应万变。 "Inside Ole 2"***几点建议***:1) Delphi/BCB/VB可以很快构筑界面,但对于想真正学习、理解系统不是一个好的平台,但如果有时间读一读VCL的源码,看看Borland是如何封装系统的,也可借鉴不少。2) 学习ASM对理解C++有很大益处。Soft-ICE也是和VC++结合在一起的好工具;3) 语言本身是皮毛,算法是筋骨;无论高级语言如何发展,在理解*作系统的基础上不断自我创新的能力是源源不断的;如果精髓一旦了然于胸,选择何种开发工具都可以驾御,一见如故了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

2
 楼主| 发表于 2005-3-19 02:35:00 | 只看该作者
由于c++的一些代码和 网页代码重合  所以可以点新窗口查看  查看文章

该用户从未签到

3
发表于 2005-3-21 18:06:00 | 只看该作者
直接用VC好像很容易忽略C++的标准库,反正我就是这样……

该用户从未签到

4
 楼主| 发表于 2005-3-22 01:06:00 | 只看该作者
惭愧~  虽然我是计算机专业的 但我的 c 类的  都非常的差~!
  • TA的每日心情
    无聊
    2018-1-25 16:35
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    5
    发表于 2005-10-16 22:49:00 | 只看该作者

    呵呵 现在我们在学数据结构

    & u8 |9 m* N3 a1 J* u, g- {! K% _

    C语言没学好 啊

    本版积分规则

    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表