相关文章  
  • 下一代开源技术的结晶――FedoraCore6
  • qmail+vpopmail+sqwebmail的安装步骤(上)
  • Linux操作系统下双启动环境的陷阱问题(下)
  • 在Linux环境中如何配置WU-FTP服务器(1)
  • 在Linux环境中如何配置WU-FTP服务器(2)
  • Linux系统编程之C++游戏程序优化(5)
  • Linux操作系统内核对RTC的编程详解(2)
  • 双赢协议:微软为何将不会攻击Linux
  • Linux系统PDA软件开发环境的构建(1)
  • 超线程加快Linux操作系统的速度(下)(4)
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    Linux系统编程之C++游戏程序优化(3)3

    内存分配函数或是直接交给malloc()。

    3、虚函数

    C++游戏程序的批评者总是把矛头对准虚函数,认为它是一个降低效率的神秘特性。概念性的说,虚函数的机制很简单。为了完成一个对象的虚函数调用,编译器访问对象的虚函数表,获得一个成员函数的指针,设置调用环境,然后跳转到该成员函数的地址上。相对于C程序的函数调用,C程序则是设置调用环境,然后跳转到一个既定的地址上。一个虚函数调用的额外负担是虚函数表的间接指向;由于事先并不知道将要跳转的地址,所以也有可能造成处理器不能命中Cache。

    所有真正的C++程序都对虚函数有大量的使用,所以主要的手段是防止在那些极其重视效率的地方的虚函数调用。这里有一个典型的例子:

       Class BaseClass 
    
    
    
       { 
    
    
    
       public: 
    
    
    
         virt

    页码:[1] [2] [3] [4] [5] [6] [7]3页、共7页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved