如何提高编程水平,比如汇编 C++ 只会做书上的题目但这样学不到技术.拜谢!具体怎么提高,有没学习网站?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 22:58:24

如何提高编程水平,比如汇编 C++ 只会做书上的题目但这样学不到技术.拜谢!具体怎么提高,有没学习网站?
如何提高编程水平,
比如汇编 C++ 只会做书上的题目
但这样学不到技术.
拜谢!
具体怎么提高,有没学习网站?

如何提高编程水平,比如汇编 C++ 只会做书上的题目但这样学不到技术.拜谢!具体怎么提高,有没学习网站?
对于写个程序,不是你自己能够解决的,而是你有多少资料.往往需要你查资料才能把东西做出来,不过还要熟悉你手上的资料,当你要用的时候能够想到在哪能查到具体的使用方法.可以这样说,写一个程序前半小时想怎么写用到什么函数,后半小时写出来,在等半小时全忘光.所以总结很重要,把写的每个小程序保存起来,
做好注释标清有什么功能.将来用的时候也方便,大程序也是小程序拼凑起来的.
引用一下罗云斌的话:
对于程序员来说,“高手”和“菜鸟”之间的区别实际上只有两个因素:一是从事编程时间的长短不同,使经验的多少有所区别;第二个因素就是手头掌握资料的多少了,因为很多问题并不是靠自己钻研可以解决的,必须靠资料,试想在写DOS汇编程序时如果没有中断手册,可以自己钻研出来吗?实际上,大部分“菜鸟”向“高手”问的问题完全可以由参考资料解决,即使一个“菜鸟”对某个问题暂时不懂,但手头有解决问题的详细资料,经过一段时间的钻研,问题自然会解决.“高手”就是这样慢慢练成的.
在Win32汇编编程中,资料显得尤其重要.在DOS时代,整个操作系统的大小不过几十KB,所有的BASIC和C命令基本上都可以直接用人脑记忆下来,用于汇编编程的中断手册也基本上可以让人记住常用的部分.
不过,当时钟走到21世纪的时候,软件规模飞速膨胀,仅是开发工具就动辄几十MB,更不用说复杂的操作系统及其他软件了,所以现在完成一件最基本的事情都必须从文档中寻找合适的方法,大部分程序员手边的文档比字典还要厚几倍,并且,在这些浩如烟海的文档中苦苦寻找之后,还不一定能找出一个满意的解答.像Windows就是一个数据结构的迷宫,其API的资料远比DOS下的中断资料要多,在这种情况下,程序员的经验可以在程序的优化和调试方面发挥作用,但如果没有资料,连程序都写不出来,就谈不到优化和调试了.
在硬件方面,处理器的发展也很快,图书市场上的资料往往要慢一个节拍,国内的图书尤其如此,想了解最新的指令集就必须到厂家的网站上下载最新资料.所以程序员需要一个强大的信息网络来方便信息的查找,方便与软件开发商的交流,特别是通过Internet.
目前,各大软件开发商都具有各自的程序员信息网络,这些网络能为程序员提供特别的服务和帮助.所以要寻找编程资料,首选方案就是常接触这些网络,如Borland公司的Borland Community,Oracle公司的Oracle Technical Network,Sun公司的Sun Developer以及IBM公司的developerWorks等.
2.5.1 Windows资料的来源
要获取Windows的资料自然要到它的老窝——Microsoft的站点上去,Microsoft的程序员网络是MSDN(Microsoft Developers Network),在这里可以获得微软所有产品和操作系统的相关信息.它的网址是http://msdn.microsoft.com.
MSDN是一个内容非常全面的信息网络.现在这个网络一共有300万注册用户,它不仅在互联网上建立了网站,并且也发行MSDN杂志以及可供订阅的CD和DVD,其中包括编程信息、技术论文、操作系统、文档、工具、程序代码以及新产品的Beta测试包.MSDN的技术支持方式既有免费信息服务,也有收费的服务,例如,订阅MSDN的印刷品以及购买MSDN的CD和DVD等,购买MSDN实际上等于购买了一种服务.
MSDN的收费服务是以订阅形式出现的一年4期的光盘资料库,它有3个版本:
● MSDN开发库:有知识库和一些例子代码,一般是20张左右的光盘,可以联机检索,一般可以从这里找到全部的API资料、大量的基础知识和代码.
● MSDN专业版:包括MSDN开发库的全部内容,再加上Microsoft操作系统类软件,SDK(Software Development Kit)和DDK(Device Driver Development Kit).SDK和DDK是软件开发包和驱动程序开发包,它们包括开发软件或驱动程序的头文件、例子以及一些开发工具,要想知道一个课题的最佳解决方案就是去看对应的SDK和DDK中的例子文件.
● MSDN宇宙版:包括MSDN专业版的内容,还包括Microsoft所有软件,如Windows 2000,Office和SQL Server等,用户从一个软件Beta版时就可以开始评估使用,使开发人员可以最早拿到最新的技术与资料,但这些产品不能用于企业环境去架构网络.
MSDN的订阅费用不菲,3个版本每年的订阅费用分别为1 500元、8 200元和29 000元,这显然是一笔不小的费用,所以很多程序员还是选择在Microsoft的站点上使用联机版本,但MSDN站点在内容上显得稍微过繁,有人对此的评论是:“Microsoft每次都会提供大量的资料,以至于可能需要费些力气才能找到所需的东西,不过这总比什么都不提供强”.
从网上也可以找到MSDN的各种独立部分分别下载,如各种版本的SDK和DDK等,当然这不会在Microsoft自己的站点上.同时从网上也可以找到一些单独分离出来的帮助文件,如《Microsoft Win32 Programmer's Reference》,《Win32 Multimedia Programmer's Reference》,《OpenGL Programmer's Reference》,《Windows Sockets2 Application Program Interface》以及其他几乎所有的程序员手册,它们中间包括了对应的API函数的详细资料.
使用这些Windows资料时要注意它们几乎全部是以C语言的语法提供的,因为在Win32的环境下,不管是什么语言,全部都是建立在Win32 API的基础上的,而Windows本身就是用C开发的.我们要写Win32汇编程序,参考资料也只好使用这些C的版本,这就要求读者对C语言中函数的定义、数据类型和数据结构的定义等有基础的了解.也正因如此,如果读者有用MFC编写Windows程序的经验,看完了这本书以后一定会说:“汇编,C,Windows,怎么是同一回事?”的确,在Win32环境下,所有的语言实际上是一回事,只不过Visual FoxPro,Visual BASIC等软件对API以及Windows的消息体系封装很深,Visual C++和C++ Builder等软件相对少一点,而汇编不加任何封装.
有了足够的参考资料以后,并不代表着就可以用汇编编写出常用的Win32程序了,因为毕竟这些只是金字塔的一个底边而已,爬上去的路就是学习的过程,中间最好的参考就是Win32汇编的教程和例子,Internet上有很多的站点是关于Win32汇编编程的,这里列出几个站点,读者可以从这些站点的链接中找到其他很多的相关站点:
● MASM32软件包的官方站点——http://www.movsd.com
包括MASM32软件包下载、简单的Win32汇编例子和一些网站链接.
● Iczlion的Win32汇编站点——http://win32asm.cjb.net
最著名的英文Win32汇编站点,包括Iczlion书写的Win32汇编教程、大量的例子和一个讨论区.这个网站需要用代理服务器访问.
● 笔者的Win32汇编站点——http://asm.yeah.net
中文Win32汇编站点,有Iczlion汇编教程的中文版以及其他的一些教程,也包括大量例子,有一个中文的Win32汇编讨论区.