Make Www.Edu-cn.Com Your Home Page!
用户名: 密码: 验证码: 注册
  当前位置: > 中国教程网>软件开发>c/c++> 高手必看:C、C++程序的优化之路

高手必看:C、C++程序的优化之路

作者:佚名   来源:中国教程网   点击:   日期:2007-04-02

在高级语言中,程序的优化主要应该从数据结构、算法、控制流程等方面入手。各种语言各有它自身的特点,我们只能根据具体的语言来说明代码优化的方法。当然,高级语言太多,不可能把每一种语言都拉进来,主要就谈谈C,C++,JAVE,等语言相关的 代码优化。而对于其它一些语言,也 可以从这些方面中找到适合自己的优化方案。 漂亮MM女性网

对C++程序的优化一定是大多数程序员最感兴趣的话题,在此先说说基于C,C++的代码优化,希望能起到抛砖引玉的作用。

中国教育网

1、在 ANSI/ISO C/规范中明确建议:“不要使用macro和。h,应该使用程序中的常量定义和 函数替代”。Macro(宏)对程序员来说的确带来过不少方便,但是 大量的宏定义往往又给我们带来更多的麻烦。建议使用inline内连函数替代宏调用。内连函数又宏调用的功能,且避免了宏调用的弊端。

www.edu-cn.com

2、集合,子集类型是不被标准的 C++的对象结构式最复杂最灵活的。在Borland的 C++ Builder中,就提供了源于Pascal的集合,这对我们追求代码高效率的 开发者来说,是不可取的。 edu-cn.com

3、字符串处理是Pascal的强项之一。但是中的string/AnsiString等是用类/数模拟的,所以性能又很大损失!建议使用Builder/的程序员尽量不使用AnsiString。 中国教育网

4、中的运算符new和delete相对于C中的malloc()和 free()函数更优越。它们虽然都提供了动态和释放分配内存的 方法,但是使用new和delete 能自动返回正确的指针类型不用进行强制指针转换。另外还可以避免一些错误。

edu-cn.com

5、过量的异常处理往往导致程序难于使用且效率低下。在一场处理方面存在一定的不足,Builder中对一场进行了一定的扩充,使程序的异常的捕获和处理更方便。于是很多程序员在写程序的时候明知道不会出错的代码也要进行异常处理,这无异于画蛇添足。

edu-cn.com

6、真确的使用循环。使用循环虽然简单,但是使用不当,往往可能带来很大的性能影响。原则是将问题分为解小的循环,不在循环内做多余的工作(如赋值,常量计算等),避免死循环。还可以考虑将循环改为非循环来提高效率。

中国论文网

7、类的主要好处之一是它封装的特征。这个特征对类对象的使用着隐藏了内部的工作。这本是非常好的事情,但不幸的是类的使用者往往不能确定类中各种方法如何影响性能,这样就很容易调入性能的陷阱中。比如:常用的MFC,L他们都是提供了丰富的类库,我们在使用的时候应该选择效率较高的类和调用效率高的方法函数。

中国教程网

8、尽量在类设计时减少虚函数的数目。函数地址在运行时进行滞后绑定,这对于面向对象的编程语言来说时相当重要的。不同于JAVA,smalltalk的是让程序开发者自己决定对那个函数进行滞后绑定。之所以这么做,使出于对性能方面的考虑,特别是对多态性提供滞后绑定是要付出相当大的代价的。即使是只有一个虚函数得类,对他的每一个实现都需要一个虚函数表和一个指向它的指针。指向虚函数表的指针必须在世现类实例实进行初始化。另外,每当一个虚函数被调用时,必须为函数在运行时进行的查找付出代价。
www.edu4u.com.cn

中国教育网



文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   最新文章:
·任意分布的随机数的产生方法—VC程序(04-02)
·VC# .Net中浏览Crystal Report(04-02)
·托管C++程序开发—Win表单文档程序设(04-02)
·.NET 中的断言和跟踪(04-02)
·用控件聚合技术为FlexGrid增添PickLi(04-02)
·Visual C++.NET GDI+编程基础(04-02)
·Managed C++设计新邮件检查器(04-02)
·托盘编程全接触(04-02)
·在Visual C++中使用内联汇编(04-02)
·VC的另类数据库编程(04-02)
   相关文章:
·VC的另类数据库编程 ·任意分布的随机数的产生方法—VC程序实现
·高级扫描技术及原理介绍 ·解决两个难懂的安全性问题
·Managed C++设计新邮件检查器 ·VC++ SMTP协议电子邮件传送剖析
·代码最优化.NET中的内存管理 ·每个开发人员现在应该下载的十种必备工具
·.NET 中的断言和跟踪 ·Visual C++.NET GDI+编程基础

   文章评论:(0条)
  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

 §最新评论:

  责任编辑:中国教程网  

© 2007 Copyright 中国教育网
DesignBy:AOE3 STUDIO & ROCOCO