分享
 
 
 

对初学者如何开始学习VC的看法

王朝vc·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

1.学习VC的一点体会

假如没学过编程,最好从C开始,然后学习VC++。当然一开始就学VC也行,不过VC太庞大了,难以把握。用VC时,别用它的类,就用标准C和Win32 API编写命令行的程序,这样VC只是一个方便的C编辑/编译/调试器,而不是功能极多、庞杂的重型软件,这就和使用Turbo C差不多,只是功能更强了,使用更方便了。同时这样编程还有一个好处,就是可以熟悉Windows系统的工作方式和组织方式。

在没有熟练C、C++及编程思想前,一定不要接触VC的图形界面编程和MFC类库,否则你就会对VC望而却步的。我在上学时学了一学期的VC,在那之前学了C、汇编和很多其他的编程课程。可是学完VC后,班上大多数人害怕VC,不敢用它,没人逼着说什么也不会去碰VC,就是因为一直在学界面编程和使用MFC类库,学得糊里糊涂,不熟悉类库的使用和MFC体系结构,对Windows各种消息不熟悉,编起程来举步维健,有时根本无从下手;而不用MFC类库又不会编程了,因为不会用Windows API,对Windows系统的工作原理不了解。

由于Windows NT的界面十分友好,治理员很轻易就熟悉了NT的使用和日常治理,但是却不了解Windows NT的工作原理,也不注重Windows NT配置工作,因而降低了Windows NT的安全性,可以说这是Windows NT相对于Unix来说安全性差的一个重要原因。治理员只需按微软提供的NT C2 Config CheckList的配置列表,实现其中重要的几个配置就可以挡住大部分的普通入侵者,然而Admin为空密码和答应空连接的 NT 计算机就是如此之多,尤其在中国。说远了,对于编程人员其实也是一样,Windows系统的界面友好,使得很多人只是简单的使用它,而不去深究它内在的实现。对系统理解越少,编程的困难越多,实现所需的功能越难,因为编程基本上是在和系统提供给程序员的编程接口(API)打交道,你不知道系统提供给你什么支持,就难以编程。举个例子,大家知道Unix的用户帐号存在/etc/passwd文件里,假如要查找当前系统的一个用户名就只需打开/etc/passwd文件,然后一行一行的读文件,并分析一行里的内容,从而找到用户名部分和要查找的用户名相比较即可,这没有问题,我想大多数不了解unix编程的程序员都会这样想。然而unix提供的getpwnam函数恰好实现了这个功能,一个函数调用就解决了问题。可以看出,理解系统提供的API的重要性;实际上,程序员在学会了编程语言和基本编程技巧后,最主要的任务就是了解系统提供的函数支持,对系统API了解越多,编起程来就越得心应手。

学习Win32 API的理想方法就是使用一个适当的编译器,学习控制台编程(不是DOS编程,虽然它的界面是命令行界面)。我想VC是比较合适的,它功能强大、使用方便自不必说,而且可以很轻易的支持SDK的程序,这也是大家选择VC的重要原因。对于Delphi和BCB我了解不多,印象里和VB有些像,不知编写控制台程序如何。Turbo C是不错的编译器,大多数人在Dos下用C编程都用它,不过可惜,它不支持Windows API。

对于网络编程,用Winsock和标准 C 基本可以了(要进行Windows NT/2000的Netbios编程使用Winsock是不行的),而且不难,但要是使用它的MFC类库,方便是方便了,可是复杂的关系太多了,轻易乱。而且有些功能是MFC所没有提供的,MFC提供了最常用的类,而一些非凡的应用没有MFC类。

要是想用图形界面编程,使用MFC还是比较简单和理想的(和使用API相比),不过自然不然VB快。首先C++的基础要打好,然后可以找本好的VC书,编些例子,慢慢熟悉MFC,不过要把握MFC类库谈何轻易。

2.其实人都轻易犯贪多的毛病,这就是求知欲,非常好,但要把握度

很多人学习电脑觉得自己懂的太少,于是什么都想学,什么作图、作动画、Html、脚本、CGI、C、Authorware,仅仅Windows下流行的编程平台就有微软的Visual Stutio外加一系列开发工具包(SDK、DDK、DXSDK等)和Delphi、BCB。此外还有N多Unix和N多Linux呢。实际上你能学多少呢?一个VC就可以有很多分支(当然不是绝对的不可跨越),能够学好一个就不错了。其实人都轻易犯贪多的毛病,这就是求知欲,非常好,但要把握度,否则就什么都蜻蜓点水,却没有专长。

下面我说说学习编程的一点体会。首先在有了一定的编程基础后,看别人的程序,尤其是好程序(看多了,自然会看到好的),是非常有益的,其帮助也会很大。不过在这同时你一定要动手去编,不然只能算是你看明白了或者‘懂’了,而不能说你会了、‘把握’了,这之间有很大的差别。就拿下面这个程序来说,看了两遍,明白怎么回事了,建socket--监听--客户连接--建管道--建cmd进程,然后不断将客户的输入传给cmd,将cmd的输出发给客户;但是你‘把握’了吗?让你写一个同样的你写不写的出呢?假如能,那你把握了,否则没有。

记得我第一次在unix下编程,是研究DOS攻击,似乎是smurf攻击,那之前我从未在unix下编过程,连unix也不熟悉,cc命令还是问别人的,tcp/ip协议也了解不深,只是学生时课本上的那点知识而已,网络编程从未用过,只知道使用socket,然后就看smurf的linux源码,然后转为sco unix代码执行,很快做完了,找个sniffer一看运行对了。但是,我会unix编程了吗?我会网络编程了吗?没有,我写不了,只能看、改。后来找本书看看,渐渐明白点了,可还编不了程序,每个函数用什么参数,类型是什么,全要对着别人的程序才行。后来编了个小程序,Socket编程的基本知识就差不多了,其实很小很小的一个程序,似乎胜过看好几个程序,应该说这是量变到质变吧。有时看来看去,流行的新书都看过了,也没什么新鲜的,似乎自己都会了,翻回来让你写一个,似乎又无从写起,似乎什么都不会似的,就是因为我们看到太多了,明白了不少,但却都没把握,于是就没有什么进步,此时写几个程序,会有很大帮助的。唉,这可能是人的通病吧,总觉得自己很强,什么都可以,越多越好,其实呢?能够在一个领域做好就是专家了。我不知是否看到近来ipxodi一篇学习网络安全方法的文章,确实,人很轻易犯这个毛病。

当然,我并不是否认看程序,其实‘看别人的’和‘自己写 ’几乎同等重要。有时我觉得总写一些程序,似乎没什么新东西(是不是有点像看多了时的感觉??怪了),原来很久没看新东西了,看一看,似乎会有点发现,新的或者原来问题的解决办法。其实学习就是这样:看看,记记,然后就把握了。有时看别人一个程序,能解决自己长期的困惑。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有