psf2.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 43 行

C
43
字号
#ifndef mpsf2_H
#include "psf2.H"
#endif

template<size_t size>
void *   psfist_Imp<size>::_free_list = 0;

template<size_t size>
int      psfist_Imp<size>::free()
{
void *   p = _free_list;
int      n = 0;
#ifdef BUG_CONFIRM
   cout << "free():  " << (size&1) << endl;
#endif
   while( p != 0 ) {
   void *   q = p;
      p = *((void **) p);
      ::free(q);
      n++;
   }
   _free_list = 0;
   return n;
}

template<size_t size>
int      psfist_Imp<size>::free(unsigned num)
{
void *   p = _free_list;
int      n = 0;
#ifdef BUG_CONFIRM
   cout << "free(n): " << (size&1) << endl;
#endif
   while( p != 0 && n < num) {
   void *   q = p;
      p = *((void **) p);
      ::free(q);
      n++;
   }
   _free_list = p;
   return n;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?