我现在正用C++写一个嵌入式模块,该模块要从文本文件内载入数据,这些数据永久地在程序中驻留,直到程序退出。现在有一个数据结构比较占内存,这个结构满足每次查询的需求。结构是一个单向链表,请问如何减少内存消耗?
另外,这个模块比较大,还有没有别的办法从别的地方可以减少内存消耗?减少内存消耗的方法有哪些?
请大家踊跃讨论,来者有分!祝大家一切如意!

解决方案 »

  1.   

    关键是系统对运行速度要求比较高,所以运行中将不可能进行IO操作。
    我是主要的意思是,如何设计数据结构,会更省内存。还有就是寻求其他途径来减少内存消耗。
    昨天该了一天,才减少32KB。干着急!请各位想想办法!
      

  2.   

    使用 LIBCTINY.LIB 为 EXE 和 DLL 文件 减肥http://www.vckbase.com/document/viewdoc.asp?id=1012别忘了给我加分呦:)
    good work!
      

  3.   

    结构排列原则,同一类型数据放在一块
    struct s

       byte a;
       int c;
       byte d;
    };
    占用12个字节
    struct s

       byte a;
       byte d;
       int c;
    };
    占用8个字节
      

  4.   

    用位操作,比如8个BOOL型的变量可以压缩到一个BYTE里
    struct s_DosAttributes
    {
    unsigned ReadOnly  :1;
    unsigned Hidden    :1;
    unsigned System    :1;

    unsigned VolumeID  :1;
    unsigned Directory :1;
    unsigned Archive   :1;
    unsigned reserved  :2;
    };
      

  5.   

    http://www.vckbase.com/document/viewdoc.asp?id=1012使用 LIBCTINY.LIB 为 EXE 和 DLL 文件 减肥
    原著:Matt Pietrek翻译:crazyd原文出处:MSDN Magazine January 2001 Reduce EXE and DLL Size with LIBCTINY.LIB 原代码下载:Hood0101.exe (45KB) ......
      
      

  6.   

    TO: zhanghk(lion)
    因为为了提高运行效率,中间过程不允许进行IO操作!谢谢!