探索C++语言种种简洁灵活特性说明

开发 后端
一些好的代码风格也能够帮助你避免一些幼稚的、低级的错误,而这种错误又是很难检测到的,但John Robbins提出的调试过程应该说是最实用的

据了解发现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,停下来思考一下,什么导致你(或他)犯了这样的错误,以后如何避免?要记住调试器仅仅是个工具,就好比一只螺丝起子,你让它做什么它就只做什么,真正的调试器是你自己脑子中的调试思想。

责任编辑:chenqingxiang 来源: 天极
相关推荐

2010-01-11 13:31:03

C++语言

2024-04-19 16:05:21

C++代码

2010-01-12 10:45:42

C++教程

2010-01-12 15:33:26

CC++

2009-12-28 09:19:21

ADO属性

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2010-02-05 18:09:12

Android

2010-01-15 15:06:30

C++语言

2010-01-13 14:17:53

C++编译语言

2010-01-12 16:12:47

C++单元测试

2010-01-15 19:17:48

C++语言

2010-01-12 18:35:45

C++语言

2010-01-25 17:29:10

C++语言

2011-11-14 09:56:17

C++

2010-01-13 16:44:03

C++

2010-01-18 13:54:28

函数

2013-12-30 10:42:42

C++特性

2010-01-11 17:34:37

C++语言
点赞
收藏

51CTO技术栈公众号