mr_alloc

mr_alloc定义在miracl.h,实现在mralloc.c

extern void  *mr_alloc(_MIPT_ int,int);

函数功能:创建一个大小为num×sizenum \times size字节的空间,返回void *类型指针。

参数_MIPT_:可能为空,非空为miracl *类型。

参数num:整数。

参数size:整数。

1. 源码分析

mr_alloc实现的相关内容如下。

void *mr_alloc(_MIPD_ int num,int size)
{
    char *p; 
#ifdef MR_OS_THREADS
    miracl *mr_mip=get_mip();
#endif

    if (mr_mip==NULL) 
    {
        p=(char *)calloc(num,size);
        return (void *)p;
    }

    if (mr_mip->ERNUM) return NULL;

    p=(char *)calloc(num,size);
    if (p==NULL) mr_berror(_MIPP_ MR_ERR_OUT_OF_MEMORY);
    return (void *)p;

}

get_mip返回miracl *指针。

mr_berror按照错误类型打印提示。

MR_ERR_OUT_OF_MEMORY字符常量

© phdlisl all right reserved,powered by GitbookUpdate in 2025-10-11

results matching ""

    No results matching ""