gcc symbol_table

 
 
 
static htab_t symbol_table;
 

/* Symbol table global context.  */ symbol_table *symtab;

general_init()

  symtab = new (ggc_cleared_alloc <symbol_table> ()) symbol_table ();

 /* Hash tables are of the following type.  The structure    (implementation) of this type is not needed for using the hash    tables.  All work with hash table should be executed only through    functions mentioned below.  The size of this structure is subject to    change.  */

struct htab {   /* Pointer to hash function.  */   htab_hash hash_f;

  /* Pointer to comparison function.  */   htab_eq eq_f;

  /* Pointer to cleanup function.  */   htab_del del_f;

  /* Table itself.  */   void **entries;

  /* Current size (in entries) of the hash table.  */   size_t size;

  /* Current number of elements including also deleted elements.  */   size_t n_elements;

  /* Current number of deleted elements in the table.  */   size_t n_deleted;

  /* The following member is used for debugging. Its value is number      of all calls of `htab_find_slot' for the hash table. */   unsigned int searches;

  /* The following member is used for debugging.  Its value is number      of collisions fixed for time of work with the hash table. */   unsigned int collisions;

  /* Pointers to allocate/free functions.  */   htab_alloc alloc_f;   htab_free free_f;

  /* Alternate allocate/free functions, which take an extra argument.  */   void *alloc_arg;   htab_alloc_with_arg alloc_with_arg_f;   htab_free_with_arg free_with_arg_f;

  /* Current size (in entries) of the hash table, as an index into the      table of primes.  */   unsigned int size_prime_index; };

 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值