亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ftdbgmem.c

?? QT 開發(fā)環(huán)境里面一個(gè)很重要的文件
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
    *pnode     = node;  Exit:    return node;  }  static void  ft_mem_table_set( FT_MemTable  table,                    FT_Byte*     address,                    FT_ULong     size,                    FT_Long      delta )  {    FT_MemNode  *pnode, node;    if ( table )    {      FT_MemSource  source;      pnode = ft_mem_table_get_nodep( table, address );      node  = *pnode;      if ( node )      {        if ( node->size < 0 )        {          /* This block was already freed.  Our memory is now completely */          /* corrupted!                                                  */          /* This can only happen in keep-alive mode.                    */          ft_mem_debug_panic(            "memory heap corrupted (allocating freed block)" );        }        else        {          /* This block was already allocated.  This means that our memory */          /* is also corrupted!                                            */          ft_mem_debug_panic(            "memory heap corrupted (re-allocating allocated block at"            " %p, of size %ld)\n"            "org=%s:%d new=%s:%d\n",            node->address, node->size,            FT_FILENAME( node->source->file_name ), node->source->line_no,            FT_FILENAME( _ft_debug_file ), _ft_debug_lineno );        }      }      /* we need to create a new node in this table */      node = (FT_MemNode)ft_mem_table_alloc( table, sizeof ( *node ) );      if ( node == NULL )        ft_mem_debug_panic( "not enough memory to run memory tests" );      node->address = address;      node->size    = size;      node->source  = source = ft_mem_table_get_source( table );      if ( delta == 0 )      {        /* this is an allocation */        source->all_blocks++;        source->cur_blocks++;        if ( source->cur_blocks > source->max_blocks )          source->max_blocks = source->cur_blocks;      }      if ( size > (FT_ULong)source->cur_max )        source->cur_max = size;      if ( delta != 0 )      {        /* we are growing or shrinking a reallocated block */        source->cur_size     += delta;        table->alloc_current += delta;      }      else      {        /* we are allocating a new block */        source->cur_size     += size;        table->alloc_current += size;      }      source->all_size += size;      if ( source->cur_size > source->max_size )        source->max_size = source->cur_size;      node->free_file_name = NULL;      node->free_line_no   = 0;      node->link = pnode[0];      pnode[0] = node;      table->nodes++;      table->alloc_total += size;      if ( table->alloc_current > table->alloc_max )        table->alloc_max = table->alloc_current;      if ( table->nodes * 3 < table->size  ||           table->size  * 3 < table->nodes )        ft_mem_table_resize( table );    }  }  static void  ft_mem_table_remove( FT_MemTable  table,                       FT_Byte*     address,                       FT_Long      delta )  {    if ( table )    {      FT_MemNode  *pnode, node;      pnode = ft_mem_table_get_nodep( table, address );      node  = *pnode;      if ( node )      {        FT_MemSource  source;        if ( node->size < 0 )          ft_mem_debug_panic(            "freeing memory block at %p more than once at (%s:%ld)\n"            "block allocated at (%s:%ld) and released at (%s:%ld)",            address,            FT_FILENAME( _ft_debug_file ), _ft_debug_lineno,            FT_FILENAME( node->source->file_name ), node->source->line_no,            FT_FILENAME( node->free_file_name ), node->free_line_no );        /* scramble the node's content for additional safety */        FT_MEM_SET( address, 0xF3, node->size );        if ( delta == 0 )        {          source = node->source;          source->cur_blocks--;          source->cur_size -= node->size;          table->alloc_current -= node->size;        }        if ( table->keep_alive )        {          /* we simply invert the node's size to indicate that the node */          /* was freed.                                                 */          node->size           = -node->size;          node->free_file_name = _ft_debug_file;          node->free_line_no   = _ft_debug_lineno;        }        else        {          table->nodes--;          *pnode = node->link;          node->size   = 0;          node->source = NULL;          ft_mem_table_free( table, node );          if ( table->nodes * 3 < table->size  ||               table->size  * 3 < table->nodes )            ft_mem_table_resize( table );        }      }      else        ft_mem_debug_panic(          "trying to free unknown block at %p in (%s:%ld)\n",          address,          FT_FILENAME( _ft_debug_file ), _ft_debug_lineno );    }  }  extern FT_Pointer  ft_mem_debug_alloc( FT_Memory  memory,                      FT_Long    size )  {    FT_MemTable  table = (FT_MemTable)memory->user;    FT_Byte*     block;    if ( size <= 0 )      ft_mem_debug_panic( "negative block size allocation (%ld)", size );    /* return NULL if the maximum number of allocations was reached */    if ( table->bound_count                           &&         table->alloc_count >= table->alloc_count_max )      return NULL;    /* return NULL if this allocation would overflow the maximum heap size */    if ( table->bound_total                                             &&         table->alloc_total_max - table->alloc_current > (FT_ULong)size )      return NULL;    block = (FT_Byte *)ft_mem_table_alloc( table, size );    if ( block )    {      ft_mem_table_set( table, block, (FT_ULong)size, 0 );      table->alloc_count++;    }    _ft_debug_file   = "<unknown>";    _ft_debug_lineno = 0;    return (FT_Pointer)block;  }  extern void  ft_mem_debug_free( FT_Memory   memory,                     FT_Pointer  block )  {    FT_MemTable  table = (FT_MemTable)memory->user;    if ( block == NULL )      ft_mem_debug_panic( "trying to free NULL in (%s:%ld)",                          FT_FILENAME( _ft_debug_file ),                          _ft_debug_lineno );    ft_mem_table_remove( table, (FT_Byte*)block, 0 );    if ( !table->keep_alive )      ft_mem_table_free( table, block );    table->alloc_count--;    _ft_debug_file   = "<unknown>";    _ft_debug_lineno = 0;  }  extern FT_Pointer  ft_mem_debug_realloc( FT_Memory   memory,                        FT_Long     cur_size,                        FT_Long     new_size,                        FT_Pointer  block )  {    FT_MemTable  table = (FT_MemTable)memory->user;    FT_MemNode   node, *pnode;    FT_Pointer   new_block;    FT_Long      delta;    const char*  file_name = FT_FILENAME( _ft_debug_file );    FT_Long      line_no   = _ft_debug_lineno;    /* unlikely, but possible */    if ( new_size == cur_size )      return block;    /* the following is valid according to ANSI C */#if 0    if ( block == NULL || cur_size == 0 )      ft_mem_debug_panic( "trying to reallocate NULL in (%s:%ld)",                          file_name, line_no );#endif    /* while the following is allowed in ANSI C also, we abort since */    /* such case should be handled by FreeType.                      */    if ( new_size <= 0 )      ft_mem_debug_panic(        "trying to reallocate %p to size 0 (current is %ld) in (%s:%ld)",        block, cur_size, file_name, line_no );    /* check `cur_size' value */    pnode = ft_mem_table_get_nodep( table, (FT_Byte*)block );    node  = *pnode;    if ( !node )      ft_mem_debug_panic(        "trying to reallocate unknown block at %p in (%s:%ld)",        block, file_name, line_no );    if ( node->size <= 0 )      ft_mem_debug_panic(        "trying to reallocate freed block at %p in (%s:%ld)",        block, file_name, line_no );    if ( node->size != cur_size )      ft_mem_debug_panic( "invalid ft_realloc request for %p. cur_size is "                          "%ld instead of %ld in (%s:%ld)",                          block, cur_size, node->size, file_name, line_no );    /* return NULL if the maximum number of allocations was reached */    if ( table->bound_count                           &&         table->alloc_count >= table->alloc_count_max )      return NULL;    delta = (FT_Long)( new_size - cur_size );    /* return NULL if this allocation would overflow the maximum heap size */    if ( delta > 0                                                       &&         table->bound_total                                              &&         table->alloc_current + (FT_ULong)delta > table->alloc_total_max )      return NULL;    new_block = (FT_Byte *)ft_mem_table_alloc( table, new_size );    if ( new_block == NULL )      return NULL;    ft_mem_table_set( table, (FT_Byte*)new_block, new_size, delta );    ft_memcpy( new_block, block, cur_size < new_size ? cur_size : new_size );    ft_mem_table_remove( table, (FT_Byte*)block, delta );    _ft_debug_file   = "<unknown>";    _ft_debug_lineno = 0;    if ( !table->keep_alive )      ft_mem_table_free( table, block );    return new_block;  }  extern FT_Int  ft_mem_debug_init( FT_Memory  memory )  {    FT_MemTable  table;    FT_Int       result = 0;    if ( getenv( "FT2_DEBUG_MEMORY" ) )    {      table = ft_mem_table_new( memory );      if ( table )      {        const char*  p;        memory->user    = table;        memory->alloc   = ft_mem_debug_alloc;        memory->realloc = ft_mem_debug_realloc;        memory->free    = ft_mem_debug_free;        p = getenv( "FT2_ALLOC_TOTAL_MAX" );        if ( p != NULL )        {          FT_Long   total_max = ft_atol( p );          if ( total_max > 0 )          {            table->bound_total     = 1;            table->alloc_total_max = (FT_ULong)total_max;          }        }        p = getenv( "FT2_ALLOC_COUNT_MAX" );        if ( p != NULL )        {          FT_Long  total_count = ft_atol( p );          if ( total_count > 0 )          {            table->bound_count     = 1;            table->alloc_count_max = (FT_ULong)total_count;          }        }        p = getenv( "FT2_KEEP_ALIVE" );        if ( p != NULL )        {          FT_Long  keep_alive = ft_atol( p );          if ( keep_alive > 0 )            table->keep_alive = 1;        }        result = 1;      }    }    return result;  }  extern void  ft_mem_debug_done( FT_Memory  memory )  {    FT_MemTable  table = (FT_MemTable)memory->user;    if ( table )    {      memory->free    = table->free;      memory->realloc = table->realloc;      memory->alloc   = table->alloc;      ft_mem_table_destroy( table );      memory->user = NULL;    }  }  static int  ft_mem_source_compare( const void*  p1,                         const void*  p2 )  {    FT_MemSource  s1 = *(FT_MemSource*)p1;    FT_MemSource  s2 = *(FT_MemSource*)p2;    if ( s2->max_size > s1->max_size )      return 1;    else if ( s2->max_size < s1->max_size )      return -1;    else      return 0;  }  extern void  FT_DumpMemory( FT_Memory  memory )  {    FT_MemTable  table = (FT_MemTable)memory->user;    if ( table )    {      FT_MemSource*  bucket = table->sources;      FT_MemSource*  limit  = bucket + FT_MEM_SOURCE_BUCKETS;      FT_MemSource*  sources;      FT_UInt        nn, count;      const char*    fmt;      count = 0;      for ( ; bucket < limit; bucket++ )      {        FT_MemSource  source = *bucket;        for ( ; source; source = source->link )          count++;      }      sources = (FT_MemSource*)ft_mem_table_alloc(                                 table, sizeof ( *sources ) * count );      count = 0;      for ( bucket = table->sources; bucket < limit; bucket++ )      {        FT_MemSource  source = *bucket;        for ( ; source; source = source->link )          sources[count++] = source;      }      ft_qsort( sources, count, sizeof ( *sources ), ft_mem_source_compare );      printf( "FreeType Memory Dump: "              "current=%ld max=%ld total=%ld count=%ld\n",              table->alloc_current, table->alloc_max,              table->alloc_total, table->alloc_count );      printf( " block  block    sizes    sizes    sizes   source\n" );      printf( " count   high      sum  highsum      max   location\n" );      printf( "-------------------------------------------------\n" );      fmt = "%6ld %6ld %8ld %8ld %8ld %s:%d\n";      for ( nn = 0; nn < count; nn++ )      {        FT_MemSource  source = sources[nn];        printf( fmt,                source->cur_blocks, source->max_blocks,                source->cur_size, source->max_size, source->cur_max,                FT_FILENAME( source->file_name ),                source->line_no );      }      printf( "------------------------------------------------\n" );      ft_mem_table_free( table, sources );    }  }#else  /* !FT_DEBUG_MEMORY */  /* ANSI C doesn't like empty source files */  const FT_Byte  _debug_mem_dummy = 0;#endif /* !FT_DEBUG_MEMORY *//* END */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产很黄免费观看久久| 久久99精品国产麻豆婷婷| 亚洲激情一二三区| 六月丁香综合在线视频| 色老汉一区二区三区| 欧美一级夜夜爽| 亚洲免费av观看| 国产成人99久久亚洲综合精品| 欧美亚洲尤物久久| 国产精品灌醉下药二区| 精品一区二区免费| 69久久99精品久久久久婷婷 | 东方aⅴ免费观看久久av| 91久久精品日日躁夜夜躁欧美| 欧美成人三级电影在线| 亚洲国产成人av| 97久久久精品综合88久久| 久久久精品影视| 黄色资源网久久资源365| 欧美精品1区2区3区| 一区二区三区欧美| 色综合久久综合中文综合网| 欧美激情一区不卡| 国产成+人+日韩+欧美+亚洲| 精品国一区二区三区| 日本不卡免费在线视频| 欧美剧在线免费观看网站| 亚洲高清不卡在线观看| 欧美在线观看一区| 亚洲国产一区二区在线播放| 在线亚洲一区观看| 亚洲一区二区欧美日韩| 欧美日韩精品三区| 五月天婷婷综合| 91精品国产综合久久精品图片 | 在线观看免费视频综合| 一区二区在线观看视频在线观看| av亚洲精华国产精华精| **网站欧美大片在线观看| 不卡视频在线观看| 亚洲美腿欧美偷拍| 在线观看欧美精品| 蜜桃视频在线观看一区| 精品噜噜噜噜久久久久久久久试看 | 正在播放亚洲一区| 久久精品国产在热久久| 26uuu色噜噜精品一区二区| 精品一区二区免费| 中文字幕二三区不卡| 91亚洲国产成人精品一区二三| 尤物视频一区二区| 欧美精品乱码久久久久久按摩 | 日韩欧美综合一区| 国产呦萝稀缺另类资源| 国产偷国产偷亚洲高清人白洁| fc2成人免费人成在线观看播放| 亚洲精品视频免费看| 欧美精品一卡两卡| 国产综合色视频| 中文字幕亚洲区| 在线播放中文一区| 国产激情精品久久久第一区二区| 国产精品久久久久久久久搜平片| 欧美艳星brazzers| 精品亚洲国产成人av制服丝袜| 国产精品美女久久久久高潮 | 99精品视频一区| 五月天欧美精品| 国产欧美1区2区3区| 色久综合一二码| 黄一区二区三区| 亚洲午夜久久久久| 久久久久久久久伊人| 欧洲一区二区三区免费视频| 九一九一国产精品| 亚洲精品国产无天堂网2021| 精品国产亚洲在线| 在线视频国产一区| 国产成人日日夜夜| 日韩精品电影在线| 亚洲色图第一区| 久久综合色之久久综合| 欧美午夜片在线观看| 成人网男人的天堂| 蜜臀av性久久久久蜜臀av麻豆| 亚洲日本乱码在线观看| 久久精品欧美一区二区三区不卡| 在线观看日韩国产| 成人国产在线观看| 麻豆成人av在线| 图片区小说区区亚洲影院| 亚洲三级电影网站| 国产拍欧美日韩视频二区| 91麻豆精品国产91久久久使用方法| 99国产精品久久久久久久久久| 国内精品伊人久久久久av一坑| 亚洲成av人片在线| 亚洲美女免费在线| 国产精品污网站| 久久综合资源网| 欧美一卡二卡三卡| 5月丁香婷婷综合| 欧美三级电影在线观看| 色女孩综合影院| av在线这里只有精品| 国产成人精品三级| 国产激情视频一区二区三区欧美| 婷婷久久综合九色国产成人| 亚洲伊人色欲综合网| 一区二区三区视频在线观看| 国产精品美女一区二区三区| 国产婷婷一区二区| 国产亚洲福利社区一区| 国产调教视频一区| 国产午夜一区二区三区| 久久精品这里都是精品| www国产成人| 国产亚洲女人久久久久毛片| 国产日韩亚洲欧美综合| 国产欧美一区二区精品久导航| 久久久国产精品不卡| 国产日产欧美一区二区视频| 国产精品丝袜久久久久久app| 国产欧美日韩在线看| 国产精品久久综合| 中文字幕视频一区二区三区久| 一区二区中文视频| 亚洲一区在线电影| 亚洲国产精品视频| 蜜桃在线一区二区三区| 国内精品国产成人国产三级粉色| 国产美女在线观看一区| 免费人成网站在线观看欧美高清| 免费在线看成人av| 国产成人亚洲综合色影视| 成人性生交大片免费看中文网站| 不卡的av中国片| 欧美在线一区二区| 欧美成人猛片aaaaaaa| 国产亚洲成av人在线观看导航| 亚洲欧美激情视频在线观看一区二区三区| 一区二区三区**美女毛片| 婷婷六月综合亚洲| 国产精品一区二区视频| 99re视频精品| 欧美美女网站色| 久久精品夜色噜噜亚洲aⅴ| 亚洲欧美偷拍三级| 日本91福利区| a亚洲天堂av| 日韩一区二区三区三四区视频在线观看 | 日韩你懂的在线观看| 国产女主播视频一区二区| 一区二区三区日韩欧美| 国精品**一区二区三区在线蜜桃| 99久久精品免费观看| 欧美一区二区三区视频在线| 中文字幕精品三区| 蜜桃av噜噜一区二区三区小说| 大陆成人av片| 91精品国产欧美一区二区| 中文字幕高清不卡| 免费成人你懂的| 一本一本大道香蕉久在线精品 | 激情成人综合网| 欧美性猛片aaaaaaa做受| 久久久久久综合| 亚洲国产精品一区二区久久| 国产成人av电影在线播放| 91精品久久久久久久99蜜桃| 自拍偷拍亚洲综合| 精品亚洲成a人在线观看| 欧美日韩国产另类一区| 国产精品女同一区二区三区| 久久精品国内一区二区三区| 欧美日韩视频一区二区| 国产精品三级久久久久三级| 久久国产成人午夜av影院| 欧美日韩在线免费视频| 亚洲日韩欧美一区二区在线| 国产福利精品导航| 精品捆绑美女sm三区| 视频一区视频二区在线观看| 91免费小视频| 国产精品久久久久aaaa樱花 | 欧美不卡视频一区| 香蕉成人啪国产精品视频综合网| 成人丝袜高跟foot| 国产午夜精品福利| 国产福利91精品| 久久综合狠狠综合久久激情| 日韩成人一级片| 欧美日韩小视频| 亚洲影视资源网| 欧美系列在线观看| 亚洲欧美日韩国产一区二区三区| 不卡视频免费播放| 国产日韩精品一区| 高清在线不卡av| 国产精品视频一二三区|