程序语言设计初学者精华之五

上传人:dus****log 文档编号:74303503 上传时间:2022-04-13 格式:DOC 页数:12 大小:27KB
收藏 版权申诉 举报 下载
程序语言设计初学者精华之五_第1页
第1页 / 共12页
程序语言设计初学者精华之五_第2页
第2页 / 共12页
程序语言设计初学者精华之五_第3页
第3页 / 共12页
资源描述:

《程序语言设计初学者精华之五》由会员分享,可在线阅读,更多相关《程序语言设计初学者精华之五(12页珍藏版)》请在装配图网上搜索。

1、程序语言设计初学者精华之五c/c+程序语言设计初学者精华之五2011年05月23日星期一01:27 P.M.六、TC下常见的问题解决用TC创建第一个程序用TC编辑和编译都很方便。首先是菜单File-new,在编辑区也就是那一大块蓝色的地方输入你的代码,然后file-save,会提示输入文件名并保存在合适的路径。选择菜单Complie-compile或者按快捷键Alt+F9,就可以编译你的程序。编译成功后可以用菜单Run-Run或者按快捷键Ctrl+F9可以运行它,如果发现画面一闪而过,可以用菜单window-user screen或者按快捷键Alt+F5来查看。如果编译失败,通常会给出提示,并

2、且光标会停在第一个出错点,请仔细阅读。如果你要寻求帮助,也最好把错误提示贴给大家看。反复修改,直到程序通过。TC的库路径设置使用TC会遇到的第一个问题是库的路径设置。当新手第一次用TC学习C语言,他们信心满满地照着书上的例子输入代码(这个例子往往是HelloWorld),存盘,编译,希望能看到想象中的结果,但却惊讶的发现TC报错。能看明白TC说的是缺少文件的人已属不错,大部分是不知道问题发生在哪里。排除输入错误这类问题之后,这种情况通常只剩下一个原因,那就是TC的库文件的路径设置错误,解决方式如下。目前安装TC通常不是使用安装文件,而是用解压缩的方式放到硬盘上的。这种方式会释放出一个名为TC2

3、0或者TC30的目录,里面有全套文件,包括默认的运行参数。这个默认参数所记载的TC目录的位置通常是C:TC20,这就是问题所在。如果你的TC确实在那个位置,万事大吉,可惜通常情况不是这样的。动手解决之前,首先检查你目前TC所在的路径,确保路径经过的每一个目录的名字都不超过8个字符,也没有中文或其他语言的字符,就是说确保目录名称都是8个英文字符或数字。我假设你的TC安装在X:foocodeTC然后打开你的TC,打开Options菜单,可以用鼠标点击,也可以按键盘的Alt+O。用方向键移动到Directories菜单,回车之后就能看到一个窗口,这就是设置的地方。在第一个输入栏里写上X:foocod

4、eTCinclude,这是头文件所在的目录。在第二个输入栏里写上X:foocodeTClib,这是库文件所在的目录。第三个输入栏是输出文件的路径,也就是编译完成的程序所在的位置。第四个是TC启动时搜索源代码的路径。这两个路径你都可以设为你喜欢的位置。然后就可以ok确认。请选择Options菜单下的save命令来保存,避免以后再次设置。至此问题解决。再次编译程序就可以通过。PS:使用安装文件方式安装不会出现这个问题,但我已经很少看到TC的安装包了。TC下的图形编程设置很奇怪我们的教材却乐此不疲地要求学生们练习TC下的编程,而且是图形编程。因为这实在是太落伍而没有实际价值的要求。当然作为图形编程的

5、练习,因为他够简单,也就可以理解了。这个部分最好的文档就是上面提到过的王大刚先生的教材,其中专门有一章图形函数,详细讲解了所有的问题和事项。鉴于有很多人不习惯认真地看文档,而偏爱直接发言。他们即使看完文档也还是会提问为什么我的TC图形程序不能运行。我就再麻烦一点,先讲一下两个最有可能导致无法运行的原因。第一:使用图形函数时要确保有显示器图形驱动程序*BGI,同时将集成开发环境Options/Linker中的Graphics lib选为on,只有这样才能保证正确使用图形函数。图形驱动程序由Turbo C出版商提供,文件扩展名为.BGI。根据不同的图形适配器有不同的图形驱动程序,你可以在TC的安装

6、目录下找到他们。第二:在屏幕作图之前,必须根据显示器适配器种类将显示器设置成为某种图形模式,在未设置图形模式之前,所有图形函数均不能工作。设置屏幕为图形模式,可用下列图形初始化函数:void far initgraph(int far*gdriver,int far*gmode,char*path);其中gdriver和gmode分别表示图形驱动器和模式,path是指图形驱动程序所在的目录路径。典型用法是initgraph(&gdriver,&gmode,c:tc);注意path应形如c:tc的形式,使用两个来转义表示单个字符其他问题请自行查阅文档。也可查阅此帖我的程序在TC下可以编译,在VC

7、/GCC下为什么出错很简单,如果程序只涉及C语言本身和标准库,那么在任何平台都是可以运行的。而你运行出错的那些程序一定是调用了TC平台特有的服务和函数。比如,上一节提到的TC下的图形函数,在VC中完全不被支持,由GDI系统取代了,在Unix下的GCC中也要调用其它的图形函数库。同样的还有TC下的内存驻留程序,调用中断(如int13h进行硬盘读写操作)的程序。但此类程序可以在TC中编译通过后,由Win提供模拟DOS环境运行。这也是我们建议新手尽量少用TC作为开发平台的原因。=分割线=七、其它编译器问题用VC创建第一个程序用VC创建程序取决于你的编译方式。如果你选择命令行编译,你可以用你喜欢的任意

8、文本编辑器编辑源代码(通常我们就用VC的环境),保存为后缀为.c的文件。然后转到命令行,输入cl,回车。你应该看到这样的话:Microsoft(R)32-bit C/C+Optimizing Compiler Version 12.00.8168 for 80x86 Copyright(C)Microsoft Corp 1984-1998.All rights reserved.usage:cloption.filename./link linkoption.这是VC的编译器程序cl.exe在无输入时的结果。如果你没有看到cl的招呼,而是这样的一段话:cl不是内部或外部命令,也不是可运行的程序

9、或批处理文件。这说明你没有安装VC,或是你安装的VC存在某些错误。其实也不是什么严重的错误,就是程序没有设置路径。假设你的VC安装在D:vs60,那么在控制台输入SET PATH=d:vs60VC98Bin;%PATH%,再运行VCVARS32.BAT就可以了。假设你的程序在E:cppcode名为Demo.cpp那么输入:cl Demo.cpp一切顺利的话,就是这样的文字:Microsoft(R)32-bit C/C+Optimizing Compiler Version 12.00.8168 for 80x86 Copyright(C)Microsoft Corp 1984-1998.All

10、 rights reserved.demo.cpp Microsoft(R)Incremental Linker Version 6.00.8168 Copyright(C)Microsoft Corp 1992-1998.All rights reserved./out:demo.exe demo.obj这是告诉你编译成功,编译出了一个名叫demo.exe的可执行文件。如果输入:cl/Fea.exe demo.cpp编译出的可执行文件就叫a.exe,这是用参数控制编译的过程和结果,以后常常会用到。现在可以键入demo.exe(或是a.exe),运行程序。这就是使用VC在控制台编译程序,是我个

11、人推荐的编译方法。如果你选择在集成环境中编译,那么要在VC中选择:菜单-file-new-Projects-Win32 Console Application,输入你的程序名,选择路径,在之后的操作中选择An Empty Project,这样就新建了一个空的控制台工程。然后再菜单file-new-Files-C+Source File,填上文件名。然后你就可以在打开的编辑区中编辑。最后,单击工具栏上的save all按钮,以保存你所有的工作。编程是个体力活,经常保存你的成果是非常明智的。要把他编译成可执行的程序。选择菜单Build-Build Hello.exe,稍等片刻。你会看到在屏幕下方出

12、现了一个新的窗口,上面会依次出现如下的文字:Compiling.Demo.cpp Linking.Hello.exe-0 error(s),0 warning(s)如果看到以上文字,尤其是最后一句,表示程序顺利的编译成了可执行代码。如果情况是类似这样:Compiling.Demo.cpp E:cppcodeHelloDemo.cpp(8):error C2143:syntax error:missing;beforestringError executing cl.exe.Hello.exe-1 error(s),0 warning(s)这表示程序有错而无法通过编译,你需要寻找出错误并修改。对

13、于本例,是输入错误,请检查大小写,标点符号和中英文状态。改正之后,重新保存文件,再次编译,以上过程要反复的进行,直到编译通过。编译通过的程序就可以运行了。选择菜单Build-Execute Hello.exe。如果一切顺利,你应该看到了运行的结果。一个黑底白字的窗口,上面有两排字:Hello World!Press any key to continue其中第一句是程序运行的结果,第二句是操作系统告诉我们,随意按一个键,便可结束该程序。用DEV-CPP创建程序使用DEV-CPP的操作类似于用VC在集成环境下创建,也是新建工程,输入代码,然后编译连接,最后运行。差别只在于菜单和快捷键的设置。总体

14、来说,DEV-CPP的编译速度要比VC慢一些。用MingW创建程序用MingW操作类似于用VC在命令行下编译。不同之处是控制台的命令是gcc。命令形式为:gcc demo.cpp,在Win下默认输出文件为a.exe MingW不自带编辑器,因此用户要自己选择合适的编辑器,通常我们推荐Editplus gvim和Emacs这三款。后两款功能强大到无以复加,但需要学习。GCC的简单使用教程见以下几帖编辑器的使用可参见此帖用Lcc-win32创建程序Lcc-win32的使用类似于dev-cpp,不同点是它的项目设置不在项目目录里的单独文件中,而是直接记录在注册表。有关Lcc-win32的资料可以参考

15、lcc-win32的使用说明分割线=八、结束语程序员成长的六个阶段著名程序员梁肇新先生在他的编程高手箴言-高手是怎样练成的一书中提出了程序员成长的六个阶段,你到达了哪一个阶段呢,又有信心到达哪个阶段呢。一个程序员的成长可分为如下六个阶段。第一阶段:此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。第二阶段:此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。第三阶段:此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就

16、是手中有剑,心中无剑。第四阶级:此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。这时已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的。为什么会难呢?这就是因为很多人的思想转变不过来。第五阶级:此阶段就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是手中无剑,心中有剑。到了这个阶段以

17、后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定会设计出来。第六阶级:此阶段也是最高的境界,达到无招胜有招。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是手中无剑,心中也无剑。此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用。这就是真正的大师级的人物。这时,Win 32或Linux在你眼里是没有什么差别的。每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。要想从第二个阶段过渡到第三个阶段,

18、就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。但是,有些人到达第三个阶段后,常常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为自己已无所不能。其实,这时如果遇到大的或难些的软件,他们往往还是无从下手。现在我们国家大部分程序员都是在第二、三级之间。他们大多都是通过自学成才的,不过这样的程序员一般在软件公司也能独当一面,完成一些软件的模块。但是,也还有一大堆处在第一阶段的程序员,他们一般就能玩玩VB,做程序时,去找一堆控件集成一个软件。初级程序员和高级程序员的区别一般对于一个问题,初级程序员和高级程序员考虑这个问

19、题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得VB也能做出应用来,且看起来也不错。但到了中级程序员时,他可能就不会选择VB了,可能会用MFC,这时,也能做出效果不错的程序。到高级程序员时,他绝对不是首先选择以上工具,VB也好,VC也好,这些都不是他考虑的问题。这时考虑的绝对是什么才是具有最快效率、最稳定性能的解决问题的方法。软件和别的产品不同。比如,在软件中要达到某个目标,有n种方法,但是在n种方法中,只有一种方法或两种方法是最好的,其他的都很次。所以,要做一个好的系统,是很需要耐心的。如果没有耐心,就不会有细活,有细活的东西才是好东西。我觉得做软件是这样,做任何事情也是这样的,一定

20、要投入。程序员到达最高境界的时候,想的就是我就是程序,程序就是我。这时候我要做一个软件,不会有自己主观的思路,而是以机器的思路来考虑问题,也就是说,就是以程序的思考方式来思考程序,而不是以我去设计程序的方式去思考程序。这一点如果不到比较高的层次是不能明白的。你设计程序不就是你思考问题,然后按自己的思路去做程序吗?其实不是的。在我设计这个程序的时候,相当于我钻入这个程序里面去了。这时候没有我自己的任何思维,我的所有思维都是这个程序,它这步该怎么走,下步该怎么走,它可能会出现什么情况。我动这个部分的时候,别的部分是否要干扰,也许会动一发而牵全身,它们之间是怎么相互影响的?也只有到达这个境界,你的程

21、序才能真正地写好,绝对不是做个什么可视化。可视化本身就是我去设计这个程序,而真正的程序高手是我就是程序,这两种方法绝对是不同的。比如,我要用VB去设计一个程序,和我本身就是一个程序的思维方式,是不一样的。别人也许觉得操作系统很深奥,很复杂,其实,如果你到达高手状态,你就是操作系统,你就能做任何程序。对待软件要有一个全面的分析方法,光说理论是没有用的。如果你没有经过第一、第二、第三、第四这四个阶段,则永远到达不了高境界。因为空中楼阁的理论没有用,而这些必须是一步一步地去做出来。一个高级程序员应该具备开放性思维,从里到外的所有的知识都能了解。然后,看到世界最新技术就能马上掌握,马上了解。实际上,技

22、术到达最高的境界后,是没有分别的。任何东西都是相通的,只要你到达这个境界以后,什么问题一看就能明白,一看就能抓住最核心的问题,最根本的根本,而不会被其他的枝叶或表象所迷惑,做到这一步后才算比较成功。从程序员本身来说,如果它到达这一步以后,他就已经形成了开阔的思维。他有这种开放性思维的话,他就能做战略决策,这对他将来做任何事情都有好处。事实上,会做程序后,就会有一种分析问题的方法,学会怎么样把问题的表象剖开,看到它的本质。这时你碰到任何具体的问题,只要给点时间,都能轻而易举地解决。实际上,对开发计算机软件来说,没有什么做不了的软件,所有的软件都能做,只是看你有没有时间,有没有耐心,有没有资金做支

23、撑。我就是程序,程序就是我。梁肇新先生的这本编程高手箴言这本书就是他自己十余年来编程经验的集结。全书通篇没有时髦的IT新名词或新思想,而是踏踏实实地对很多知识进行了深刻的剖析,这有助于为编程打下坚实的根基。只有这样,才能使开发者在飞速变化的软件领域里免于雾里看花,才能更快更深地认识许多新问题、新知识,也才能更从容地应对未来之挑战。相信这本书对广大程序员大有裨益,无论是从技术角度还是从职业生涯指导角度。内容涵盖了从认识CPU、Windows运行机理、编程语言的运行机理,到代码的规范和风格、分析方法、调试方法和内核优化,内有作者对许多问题的认知过程和透彻的分析,以及优秀和精彩的编程经验。建议朋友们都设法弄来一看。=分割线=FAQ暂到此结束,如有问题,欢迎提出。特别声明:1:资料来源于互联网,版权归属原作者2:资料内容属于网络意见,与本账号立场无关3:如有侵权,请告知,立即删除。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!