mr_alloc
mr_alloc定义在miracl.h,实现在mralloc.c
extern void *mr_alloc(_MIPT_ int,int);
函数功能:创建一个大小为字节的空间,返回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为字符常量。