程序优化c++ 摘3

        1 microsoft 提供了一个检测指针越界访问的工具pageheap。

        

         2内存映射文件

             有个一很难发现的问题是,创建基于系统调页文件的内存映射文件内核对象是通过传入hFile为   INVALID_HANDLE_VALUE 的参数来标记的,而创建或打开普通硬盘文件失败时的返回值也是INVALID_HANDLE_VALUE.

 ......

   HANDLE hFile = CreateFile (....)  ;

   HANDLE hMap  =  CreateFileMapping(  hFile , ....   ); 

 ......

这段代码本意是先创建或是打开一个普通的硬盘文件,然后创建一个基于此的内存映射文件内核对象。但若是第一步创建失败,则生成了一个基于系统调页文件的对象

所以一定要在CreateFile 调用完成后检查返回值。


>>>>>>

程序启动优化,源代码:

  1 减少启动读取配置文件的数量

     在一个cpu为2.6ghz,硬盘位5400r/s的系统中,打开一次稳健的操作就需要40ms左右。如果应用程序包含25个配置文件,则至少需要1s的打开时间。

  2 预读频繁访问的文件

    可以在windows下通过内存映射文件的方法,编写一个  MapAndReadThroughFile 函数来实现。

你可能感兴趣的:(程序优化c++ 摘3)