MR_IN和MR_OUT
MIRACL线程的进退码。如果定义了MR_STRIPPED_DOWN,线程的进退码为空。
#define MR_MAXDEPTH 24 /* max routine stack depth */
/* Preamble and exit code for MIRACL routines. Not used if MR_STRIPPED_DOWN is defined */
#ifdef MR_STRIPPED_DOWN
#define MR_OUT
#define MR_IN(N)
#else
#define MR_OUT mr_mip->depth--;
#define MR_IN(N) mr_mip->depth++; if (mr_mip->depth<MR_MAXDEPTH) {mr_mip->trace[mr_mip->depth]=(N); if (mr_mip->TRACER) mr_track(_MIPPO_); }
#endif
MIRACL线程最大深度为24,只要不超过最大值,都会被记录。
如果定义MR_GENERIC_MT,则_MIPPO_表示一个MIRACL线程实例,否则为空。
#ifdef MR_GENERIC_MT
#define _MIPPO_ mr_mip
#else
#define _MIPPO_
#endif