www.delorie.com/gnu/docs/binutils/bfd_176.html   search  
Buy GNU books!

Untitled Document

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.19.1 Creating and freeing a hash table

To create a hash table, create an instance of a struct bfd_hash_table (defined in bfd.h) and call bfd_hash_table_init (if you know approximately how many entries you will need, the function bfd_hash_table_init_n, which takes a size argument, may be used). bfd_hash_table_init returns false if some sort of error occurs.

The function bfd_hash_table_init take as an argument a function to use to create new entries. For a basic hash table, use the function bfd_hash_newfunc. See section 2.19.4 Deriving a new hash table type, for why you would want to use a different value for this argument.

bfd_hash_table_init will create an objalloc which will be used to allocate new entries. You may allocate memory on this objalloc using bfd_hash_allocate.

Use bfd_hash_table_free to free up all the memory that has been allocated for a hash table. This will not free up the struct bfd_hash_table itself, which you must provide.

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003