关闭

一日一点RakNet(27)--Custom Memory Management

974人阅读 评论(0) 收藏 举报

内存管理

 

覆盖newdeletemallocfreerealloc函数

       用户系统提供定制的内存管理函数,在RakMemoryOverride.cpp中的函数可以实现这些功能。

       在这个文件中定义了三个全局指针,预定义默认如下:

       void* (*rakMalloc) (size_t size) = RakMalloc;

       void* (*rakRealloc) (void *p, size_t size) = RakRealloc;

       void (*rakFree) (void *p) = RakFree;

 

进行覆盖,仅仅将这些变量值设置为其他的一些变量即可。

       例如,覆盖malloc,可以按照如下形式写:

       #include "RakMemoryOverride.h"

       void *MyMalloc(size_t size)

       {

              return malloc(size);

       }

 

       int main()

       {

              rakMalloc=MyMalloc;

              // ...

       }

 

       然后编辑RakNetDefinesOverrides.h文件,加入如下定义:

       #define _USE_RAK_MEMORY_OVERRIDE 1

 

       可选的一项就是编辑RakNetDefines.h中的 __USE_RAK_MEMORY_OVERRIDE

 

By 北洋小郭

转载请注明出处,切勿用于商业。谢谢!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:420239次
    • 积分:5934
    • 等级:
    • 排名:第4448名
    • 原创:127篇
    • 转载:52篇
    • 译文:63篇
    • 评论:36条