探索C 语言种种简洁灵活特性说明
创始人
2024-06-20 04:50:22
0

据了解发现C++语言确实是个简洁灵活的特性,打错了一个字符,或者忘了打字符就有很大的可能造成巨大的损失的,这样就要编程人员和一些技术人员有一颗很踏实而仔细的心,我相信会一定会成功的。

比如程序员经常将等于逻辑判断符==误敲成赋值运算符=,对于我来说就不太可能程序运行出错后才发现,因为我的习惯是,对于逻辑判断,将常量置于==的左边,如果我误输入了=,那么编译的时候编译器就会报错。

Visual C++调试技术
检查代码直到头晕眼花也没有发现错误,一运行程序就死机,只好祭出***的法宝:调试器。Visual C++调试器可以称得上Windows平台下***的C/C++调试器了,而且Visual C++调试器还可以调试用其他语言如Delphi、Java编写的程序,可谓功能强大。#t#

尽管Visual C++调试器具有如此大的威力,它也只能帮助你发现一些隐藏的逻辑错误,对于程序设计和结构的缺陷无能为力。程序员最常用到的Visual C++调试技术有设置断点、跟踪调用堆栈和反汇编调试,其他编译器功能均为调试中的辅助工具,因为反汇编调试需要程序员具备汇编语言知识和语言底层结构,这里不再介绍。

调试C++语言的先决条件
专业调试者有一个共同的特点,即他们同时也是优秀的开发者。显然,如果你不是一个优秀的开发者,那么你也不可能成为调试专家,反之亦然。以下是要成为一名高水平的,至少是合格的调试者或者开发者所需要精通的领域。

1. 了解项目:对项目的了解是防范用户界面、逻辑及性能方面的错误的***要素。了解各种功能如何在各种源文件里实现,以及在哪儿实现,你就能够缩小查找范围,很快找出问题所在。

2. 掌握语言:掌握项目所使用的语言,调试者(开发者)既要知道如何使用这些语言进行编程,还要知道这些C++语言在后台作些什么。

3. 掌握技术:要解决棘手的问题,***个重要步骤就是抓住所用技术的要领,这并不意味着你必须对所用技术的一切细节都一清二楚,而是说你应该对所使用的技术有一个大概的了解,而且更重要的是,当需要更详细的信息时,你应该确切的知道在哪儿查找。

4. 操作系统和CPU:任何项目都实际运行在特定的操作系统和特定的CPU,对操作系统了解越多,对查找错误帮助越大;从理论上来说,掌握汇编语言,你就可以调试解决任何bug。

无论从事什么工作,只要是经常从事技术工作的人,都必须不断地学习以跟上技术的发展,更不用说想干得更好或是想走在技术发展的前沿。经常阅读优秀的技术书籍和杂志,多动手编写一些实用程序,阅读其他优秀开发者的代码,作一些反汇编工作,都会有效帮助你提高开发和调试水平(尤其当你将这四者有机结合起来)。

调试过程
确定一个适用于解决所有错误的调试过程有一定的难度,但John Robbins提出的调试过程应该说是最实用的:
1. 复制错误
2. 描述错误
3. 始终假定错误是自己的问题
4. 分解并解决错误
5. 进行有创见的思考
6. 使用调试辅助工具
7. 开始调试工作
8. 校验错误已被更正
9. 学习和交流

对错误进行描述有助于改正错误,同时也能够得到同事们的帮助。逐步缩小问题范围、排除不存在错误的代码段,直到找到问题所在,是解决所有问题的普遍适用方法。有些奇怪的错误需要你把视线从代码堆转移到诸如操作系统、硬件环境等其他方面去。

善用各种调试C++语言辅助工具能够节省你大量的时间,而且某些工具本身就不会给你犯有些错误的机会。当你解决了一个bug,停下来思考一下,什么导致你(或他)犯了这样的错误,以后如何避免?要记住调试器仅仅是个工具,就好比一只螺丝起子,你让它做什么它就只做什么,真正的调试器是你自己脑子中的调试思想。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...