小弟初学VC++,望高人指点迷津

jp311 2003-02-02 12:02:47
首先祝各位新年好!!!

想学习VC++,熟悉C++,所以不用补语言.
想买几本扎实些的书看,听说以下几本书可以:
1.深入浅出MFC
2.VC++技术内幕
第一本没话说,学C++都知道jjhou.没问题一定会看的.
问题是第二本,现在市面上可能有3个版,潘老师的一版,希望的一版,还有可能就是讲VC++.NET的那个版了(可惜没有中文,小弟英文不咋样:().
请问各位过来人,我是看潘老师的那版呀,(希望的看了就没希望了:))还是等到最新版出中文了再买它看呢???
...全文
88 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jp311 2003-02-03
  • 打赏
  • 举报
回复
听说第6版也是潘老师译的吧,看来要等一段时间了:(
还是先看看jjhou的了
kingcom_xu 2003-02-03
  • 打赏
  • 举报
回复
卖6吧
jp311 2003-02-03
  • 打赏
  • 举报
回复
大哥们看看我的问题呀,我是问我该买以下那一本书
visual C++技术内幕第4版
visual C++技术内幕第5版
visual C++.net技术内幕第6版
(现在第6版中文还没出来,是不是等到出来在买)
Agemo 2003-02-02
  • 打赏
  • 举报
回复
比较技术内幕和programming windows with mfc,我还是喜欢后者
smilingdeng 2003-02-02
  • 打赏
  • 举报
回复
最厚的那一版
liuhongyong 2003-02-02
  • 打赏
  • 举报
回复
我觉得要是刚学的话,还是应该先看看《visual C++技术内幕》,清华的那个就很不错的。有个大体的了解了以后在看《深入浅出MFC》。

只是建议而已,每个人都有自己的方法。你可以参考一下。

呵呵!!!
kwiner 2003-02-02
  • 打赏
  • 举报
回复
剩下是就要靠你实践了
kwiner 2003-02-02
  • 打赏
  • 举报
回复
VC入门的一条路


首先声明,我可不是什么高手,也就是刚脱贫。因为运气很好,买到了几本好书,在学习过程中几乎没走什么弯路,没费什么劲就入门了,现在一般的小程序能搞定了。看到那些因为不知从何下手而苦苦挣扎的朋友,希望我的文章能给他们一些帮助。

学编程急不得,上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话也许能挺过来,但也是会缺乏后劲,不得不回过头来补习基础知识。意志不坚强的话,很有可能就此放弃了,并留下一个VC难得不得了的印象。其实,只要踏踏实实一步一步来,VC也就是很简单点事。在这里我说一下,如果你还只是一个初中生,那么你就应当仔细考虑一下了。首先,限于你的知识和思维能力,学学C语言还应该没问题,但要学VC是要下相当大的功夫的。而且,你现在学到的东西将来一定会过时,所以不如把精力放在算法的研究上,毕竟这些东西永远都不会过时。

我觉着如果走对路子,入门VC,一个暑假应该够用了。

虽说学VC并不是传说的那么难,可不下些苦功夫是学不成的。在学VC前,你必须确定,你是因为热爱编程才学VC的,而不是出于炫耀或其他。否则,恐怕你坚持不到胜利的那一天。

对于首次接触编程的同学,我建议最好先学一下Quick BASIC(DOS里就有带,就是那个QBASIC.EXE),不用多学,知道什么是整型什么是浮点,以及DO...LOOP FOR...NEXT 等最基本的知识,能算个阶乘,求个积分就行了,关键要明白计算机是怎么执行命令的,对编程有个感性认识。如果你对自己有自信,也可以直接学C++,应该也不会多费太多事。不过我觉着因为有很多资料是FOR VB的,并且网页编程常用VB Script,以后你也很有可能要用到VB,所以了解一些BASIC对以后也是有帮助的。而且如果只是要算个小题用QB比VC、VB之类方便多了。(找个人教一两天应该就能搞定了吧)

之后我建议找本初高中信息学奥赛的书(有些奇怪吧)。这些书里讲解了基本的算法,写的却比较通俗,没什么高深的数学知识,容易理解。这些东西在数据结构课程中有系统严密的讲解,所以也可等以后再学。但我觉着现阶段写一些小程序,实现些常用算法对自己的思维是很好的锻炼,对以后的学习大有好处。我想,能排排序,求个八皇后,算个汉诺塔,再知道深、广度优先搜索就可以了。

如果你已经有一些编程的基础知识了,自然就可以跳过以上两步。

等你对编程有一定的认识后,就应该开始进军C++了.注意,是C++而不是VC,这两者根本不是一码事!别买VC入门,你肯定看不懂!C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础上。

我觉着比起许多花花绿绿的大全、宝典,不如买本大学的C++教程(注意:别买等级考试的教程,那是应试用的),那些教程大都经过反复锤炼,比较系统,很有含金量,有不会太贵。这里我暴力推荐由清华大学出版社出版的一本《C++程序设计教程》,封面是红色的,封底是黄色的,看起来很朴素,主编是钱能。这本书简直是好的没法说,还便宜(39.5元)。这本书不但告诉你语法,还告诉你为什么要这样规定语法,看完之后,你会觉着那许许多多的规定是理所当然的,根本不用费心记,不但不枯燥,反而会使有一种美感。书中还有许多实际编程时应注意的问题,很有价值。这本书还配有《实验指导》,和《习题集》,不过对于有一定编程经验的人应该是用处不大,所以我没买。除了这本书,我建议再买本关于传统C语言的书,要着重以下几个方面:编译预处理、typedef的使用,位运算,标准库函数的使用(最好有一个比较详细的列表,用的时候好查)。

C++的标准类模板是个不错的东东,不过对于学习MFC却没有帮助,原因是MFC太落后了(^_^),可以先放一放,要不要学等搞定MFC时再作决定。虽然我没怎么学过,不过觉着它挺不错,而且代表了一种发展方向。虽然学着费劲(那东西几乎没一点C++的样子,简直是在学新语言),但掌握它可使编程轻松不少。

学完了C++,该学VC了吧?别急,先找本WIN32编程的书,这次没什么讲究,看着差不多的,便宜一些的就行了,如果有对于VC集成环境的介绍就最好了。WIN32编程是指用WINDOWS API编程,MFC是将众多的API函数进行了封装的类库,用起来方便了不少,但如果没有一些API编程基础,对相关概念不了解,学起MFC来可能会很费解。相信我,将来你不会觉着学API编程是浪费时间的。API函数有两千多,要都学会累死。其实你只要知道如何创建窗口、对话框、控件、消息循环,了解了句柄的含义就差不多了,最好再了解一点GDI编程。这个阶段的关键是要理解WIN32程序是如何运作的,把握各种窗口间的关系。因为你以后应该很少直接用WIN32 SDK编写程序,所以关键是理解整体结构,记住几个函数并没有什么意义。函数用的时候可以现查。手头应有一份比较全面的资料。中文的API函数大全好像只有For VB的,不过看起来应该是没有任何障碍。英文的资料MSDN中就有,相当全面,也比中文的详细一些。我建议用中文资料快速查找,有问题再看英文。(我忘了我的html版中文API大全是从哪下载的了,不过书店有售,白皮的,很厚一本,很贵就是了。谁想要可以与我联系iamsor@sohu.com)

对于想学游戏编程的朋友注意:从现在起,你不必去学什么MFC了,相信我,那东西除了让你头疼一点用处都没有。游戏都使用Win32 SDK编出来的。现在,你要学的是DirectX。我推荐老王翻译的DirectDraw文档(www.imagic3d.com),前面有一些老王自己写的基础知识,很适合入门, 在此特别感谢老王的辛勤劳动。我还买了一本《DirectX 7 速成教程》,机械工业出版社出版,封面封底都是红色。除了翻译惨了点还算不错,介绍的挺全面,还有一些游戏编程基础知识。如果你想图省事,可以考虑用云风编写的风魂游戏库,很方便的(www.codingnow.com 对云风的辛勤劳动表示感谢).不过我仍然建议至少了解一下DirectX.这里说一下,很多朋友抱怨找不到有关DirectX的书籍,我告诉你,别去编程书籍里找,去多媒体制作书籍那找,还要把眼睛瞪得大大的、圆圆的。Director.. Director.. DirectX!!!知道了吧,书店工作的人眼神都不大好,我也是有一天没事瞎转才发现的,吓了我一大跳。发现这个秘密后我发现其实有不少关于DirectX的书,只是一般人找不到罢了。学会了DirectX,就可以开始奋斗了,剩下的问题就只有积累经验了。

对于志向是应用软件的朋友,打好了基础,现在进军VC的障碍都已扫清了。不过还是应做好充分的思想准备,事情不会那么顺利的。刚开始,你就要面对一个瓶颈,大量的紧密关联的知识,使你必须一下理解一个整体,而很难一点点来。可以说,学VC最难的就是刚开始。情况有些类似于你第一次创建窗口时面对的那长长的程序,只不过更糟糕就是了。很多人就是在此被一大团知识噎着,放弃了学习。事实上,这几乎是Windows编程的一大特点,在WIN32编程时你就应当有所体会,而DirectX和COM都有类似问题。记住,一定要坚信:突破了这个瓶颈之后便是一片海阔天空,而有着扎实基础的你是一定能闯过去的。
我的建议是,不要等彻底弄明白一句才看下一句,而是知道好像怎么回事就向下看,实在看不懂也硬着头皮往下看,等能比猫画虎的作出个菜单、对话框时便回过头再看一遍,几遍之后应该就可以大概明白MFC程序的运作了。注意:这里有个关键,一定要用心体会面向对象编程的精神,努力将眼前的程序与你之前所学的知识联系起来。通过比较成员函数和对应的API函数间的区别,尝试去理解MFC是怎样封装相关的API的。例如,相当多的类将句柄封装了起来,在传递参数时加以省略,这就是一个很重要的特性。MFC中有许多的宏,看起来很奇怪,但你不必理会其实现方法,只要知道如何使用便可,这点也很重要。还有,千万不要过于依赖ClassWizard,对于其生成的代码要自己进行分析,偷懒就不能真正理解MFC。

这里我介绍一种学法,不过学法这种东西因人而异,所以还要根据个人的情况决定。开始时,教程让怎么办就怎么办,比猫画虎的作出个菜单、对话框,然后试着添加控件。等能不看教程便做到这些时,开始逐字逐句的试着理解MFC程序的组织。若看不懂就跳过看下面的。就这样一遍一遍来。如果觉着头大就先歇上两天,等清醒了再接着来.最好在这期间多找些介绍MFC框架的文章。注意:先不要碰有关文档/视结构的东西,否则你会更头大。然后便可试着写个定时器、名片夹之类的小东西,熟悉一下各种控件的使用。 突破了开始的瓶颈之后再学下去便会越学越容易,因为你可以一点一点的积累知识,而不用担心被噎着了。再过不久,你就不得不开始使用API函数完成一些功能,如在系统托盘加图标,自画列表框等。这时,你也会体会到学习WIN32编程的好处了,没学过的人很可能就此卡壳。

关于VC的教程遍地都是,但鱼龙混杂,市场乌烟瘴气,骗钱的书真不少。有些书很厚,内容当然也很全,对老鸟很不错,但对于初学者似乎有些浪费钱,因为里面绝大部分的东西MSDN中都有,并且初学者用不着。老外写的书一般内容不错,但翻译水平是个问题。如果翻译糟糕可够你受的,加上价格不菲,我也不建议初学者买。还有些什么傻瓜书、图解之类,好像是面向初学者,时则为骗钱,你看完后除了那几个例子什么也不会作。如果你看到有一本书花了大量的篇幅图文并茂,生动形象的介绍如何画图,输出文字,别买!骗钱的!(:-< 我就被坑去42块现大洋)那些花哨的东西对初学者除了转移注意力没任何好处。如果你真的对GDI绘图很感兴趣,就去找些专门书籍,比那些书好多了。最好买名字类似于VC应用,VC编程之类比较正式的,图不要太多的,字不要太大的,最好是有较多的控件介绍的。当然,文字流畅也是很重要的。书不要买太多,最多两本,因为这些书内容都差不多,买多了的话东看西看反倒没好处。在这里,我建议初学者先别急着掏钱,而是去VC王朝( http://vcdynasty.yeah.net/)下载本MFC教程。虽说是网上教程,却当相当有水准。不但内容比较全面,还一句废话也没有(这里感谢作者的辛勤劳动)。只是可惜对GDI没有一点介绍,还须其他书籍作补充。等搞定这本教程时,应该就已
kwiner 2003-02-02
  • 打赏
  • 举报
回复
<转帖>
我对VC的看法


看了前面一篇"论c/c++程序员的门户之见",心有所感,也来谈谈从一个普通VC学习
者的角度对VC的看法。

首先介绍我的学习情况,我是属于那种MFC的所有类基本上都懂得一点,但又懂得不多
,每种技术都懂得一些,但又不甚深入的那种。对我来说,似乎什么VC编程都会,但是都得花
一番脑筋才能编好。我的学习历程是这样的,我在大一时必修课学了C,大一下自学了C++,
大一暑假编了平生第一个"类库",自以为C++学得不错了,就开始学VC。

谁知这就是痛苦的开始。

我在学C++的时候,可以一个学期就光啃一本书,而且没上过机(直到暑假才把上机实
践补上),还能看的津津有味,可是这本VC的书,我花了几周时间看完以后,就有上当的感觉
。没错,我会编DOC/VIEW了,我会编对话框,按钮,控件了,可是光这些有什么用?

我不明白为什么VC没有入口函数而要在InitInstance里头加入初始化代码。
我不明白为什么VC非得用文档/视窗(现在叫视)结构,去掉了它会有什么结果?
我不明白Windows消息循环是什么机制,为什么我用ClassWizard可以加入消息映射,
而手工添加的时候就老出错,ON_MESSAGE是什么意思?更可恶的是,为什么我往工程中添加
一个空的CPP文件,编译器就要说我错误。
为什么,为什么这么多为什么我也不知道...

于是我渐渐地对学习VC不是那么热心了,开始报着什么时候用什么时候学的态度来学
VC了。于是我开始学一点忘一点,于是我在回答别人提出的问题时,只能以一句"你去查查
MSDN,我也不大清楚"来应付。

所以,我的感受是,VC教学需要改革,那些为VC入门者写书的人,请记住VC是VC而
不是VB,学VC不是只会点几下鼠标,会做几个按钮对话框就叫会了。你们应该为初学者想
想,至少应该想想你们自己当初学VC是怎么过来的,你们写的书对初学者很重要,不要
把他们引入学习的歧途!我一直期待着有一些高手,写出这样一部书,暂起名为"通向程
序员之路"(老套了一点,将就着用),它包括下列这些内容:

1.C/C++语言基础
不用说了,现在大部分这类书都能满足读者的要求,这个部分抄抄别人的就行啦.:P

2.面向对象分析原理和类库的构造
这个部分可是C++程序员的看家本领,也是VC程序员值得向其他VB程序员或JAVA程序
员称耀的地方。VC程序员可以是一个系统的构造者,而VB程序员只能是一个使用者。一个
成功的VC程序员可以自豪的说,给我时间,我可以编出一个MFC,VB程序员可以吗?
所以这个部分一定要有老资格的牛人来编写,应该结合一个具体的类库实例来编。

3.Win32 API编程
不要以为这一套已经过时了,只有学了Win32 API,你才能真正理解什么是Windows
操作系统,这部分的源码可能会很长很罗嗦,但是结合光盘上现成的例子,也不用你自己
写什么代码了,反正真刀真枪用到这个的还真的不多。总之这个部分重在Windows操作系
统原理和编程原理的讲解,当作例子的源代码嘛,估计是又长又臭,这个部分需要及其富
有爱心的老同志来编。

4.MFC构造精解
注意是MFC构造精解而不是MFC大全,不是流水账似的铺诉都有哪些类啦,这些类都有
哪些函数啦,这函数有什么用啦。而是MFC为什么要这么构造,如果要你来编MFC,你会怎
么编?是否和Microsoft不谋而合?
这部分正是全书最难编的地方所在,这里需要一位绝绝对对的VC高手来编。恕我直言
,现在大多数写书的人,恐怕都没有达到这个水平,或是不肯显露真本领给大家看。
这部分的妙处在于,读透了它以后,你就是VC高手了!(我KAO,MFC我都可以编了,
我不是高手是什么?)

5.VC编译原理
VC比起在DOS下的TC,BC简直是娇贵到了极点,这里一行,ClassWizard阿姨保管这一
片,小朋友不要乱动欧,乱动要打屁屁的欧,那里一句,AFX_XXX老大罩着这,小子要命
的话快给我滚。还有#ifndef ~~!!@#$$@%@%@,#pragma ...,让人家一看就晕菜,难怪人
家说VC是一朵带刺的玫瑰,想要可是碰不得。
请一位护花使者挺身而出,为玫瑰美人除去这一身的臭刺。

6.从COM到ActiveX
COM,Interface,Dispatch等等一个一个娓娓道来,当然也要认真介绍我IUnknown了
,直到ActiveX服务器,ActiveX OLE文档,ActiveX控件,DCOM,COM++,前面几本书都讲的
那么精彩了,到这我就不信你不入迷。

7.其他
到这你就是一代大虾了,加上一本手册或MSDN,电脑就是玩弄在你的手里的了。Win
Socket,串口通讯等那一套只是一层窗户纸,捅破了就没什么了,至于通讯协议那一套可
就不是本书的内容了,概不受理。对了,最近星际争霸挺热的,帮忙给编一个作弊器吧。


说了这么多罗里罗唆,口水都干了,其实这只是一个设想,还没有成为一个现实,不
如等他成为现实以后,我们再细细讨论。算了,闪先,免得有人说我是唐僧,一棒子把我
轰出来。

wangxinjing 2003-02-02
  • 打赏
  • 举报
回复
我也是初学,交个朋友。不过初学者看这些书不好吧,反正我是看不懂,不知你。
jindayu 2003-02-02
  • 打赏
  • 举报
回复
有C的基础就更好了

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧