You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 line
5.4KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the BFD library.
  4. Copyright (C) 1991-2020 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3 or
  7. any later version published by the Free Software Foundation; with the
  8. Invariant Sections being "GNU General Public License" and "Funding
  9. Free Software", the Front-Cover texts being (a) (see below), and with
  10. the Back-Cover Texts being (b) (see below). A copy of the license is
  11. included in the section entitled "GNU Free Documentation License".
  12. (a) The FSF's Front-Cover Text is:
  13. A GNU Manual
  14. (b) The FSF's Back-Cover Text is:
  15. You have freedom to copy and modify this GNU Manual, like GNU
  16. software. Copies published by the Free Software Foundation raise
  17. funds for GNU development. -->
  18. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  19. <head>
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  21. <title>Hash Tables (Untitled Document)</title>
  22. <meta name="description" content="Hash Tables (Untitled Document)">
  23. <meta name="keywords" content="Hash Tables (Untitled Document)">
  24. <meta name="resource-type" content="document">
  25. <meta name="distribution" content="global">
  26. <meta name="Generator" content="makeinfo">
  27. <link href="index.html#Top" rel="start" title="Top">
  28. <link href="BFD-Index.html#BFD-Index" rel="index" title="BFD Index">
  29. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  30. <link href="BFD-front-end.html#BFD-front-end" rel="up" title="BFD front end">
  31. <link href="Creating-and-Freeing-a-Hash-Table.html#Creating-and-Freeing-a-Hash-Table" rel="next" title="Creating and Freeing a Hash Table">
  32. <link href="Writing-the-symbol-table.html#Writing-the-symbol-table" rel="prev" title="Writing the symbol table">
  33. <style type="text/css">
  34. <!--
  35. a.summary-letter {text-decoration: none}
  36. blockquote.indentedblock {margin-right: 0em}
  37. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  38. blockquote.smallquotation {font-size: smaller}
  39. div.display {margin-left: 3.2em}
  40. div.example {margin-left: 3.2em}
  41. div.lisp {margin-left: 3.2em}
  42. div.smalldisplay {margin-left: 3.2em}
  43. div.smallexample {margin-left: 3.2em}
  44. div.smalllisp {margin-left: 3.2em}
  45. kbd {font-style: oblique}
  46. pre.display {font-family: inherit}
  47. pre.format {font-family: inherit}
  48. pre.menu-comment {font-family: serif}
  49. pre.menu-preformatted {font-family: serif}
  50. pre.smalldisplay {font-family: inherit; font-size: smaller}
  51. pre.smallexample {font-size: smaller}
  52. pre.smallformat {font-family: inherit; font-size: smaller}
  53. pre.smalllisp {font-size: smaller}
  54. span.nolinebreak {white-space: nowrap}
  55. span.roman {font-family: initial; font-weight: normal}
  56. span.sansserif {font-family: sans-serif; font-weight: normal}
  57. ul.no-bullet {list-style: none}
  58. -->
  59. </style>
  60. </head>
  61. <body lang="en">
  62. <a name="Hash-Tables"></a>
  63. <div class="header">
  64. <p>
  65. Previous: <a href="Linker-Functions.html#Linker-Functions" accesskey="p" rel="prev">Linker Functions</a>, Up: <a href="BFD-front-end.html#BFD-front-end" accesskey="u" rel="up">BFD front end</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="BFD-Index.html#BFD-Index" title="Index" rel="index">Index</a>]</p>
  66. </div>
  67. <hr>
  68. <a name="Hash-Tables-1"></a>
  69. <h3 class="section">2.18 Hash Tables</h3>
  70. <a name="index-Hash-tables"></a>
  71. <p>BFD provides a simple set of hash table functions. Routines
  72. are provided to initialize a hash table, to free a hash table,
  73. to look up a string in a hash table and optionally create an
  74. entry for it, and to traverse a hash table. There is
  75. currently no routine to delete an string from a hash table.
  76. </p>
  77. <p>The basic hash table does not permit any data to be stored
  78. with a string. However, a hash table is designed to present a
  79. base class from which other types of hash tables may be
  80. derived. These derived types may store additional information
  81. with the string. Hash tables were implemented in this way,
  82. rather than simply providing a data pointer in a hash table
  83. entry, because they were designed for use by the linker back
  84. ends. The linker may create thousands of hash table entries,
  85. and the overhead of allocating private data and storing and
  86. following pointers becomes noticeable.
  87. </p>
  88. <p>The basic hash table code is in <code>hash.c</code>.
  89. </p>
  90. <table class="menu" border="0" cellspacing="0">
  91. <tr><td align="left" valign="top">&bull; <a href="Creating-and-Freeing-a-Hash-Table.html#Creating-and-Freeing-a-Hash-Table" accesskey="1">Creating and Freeing a Hash Table</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  92. </td></tr>
  93. <tr><td align="left" valign="top">&bull; <a href="Looking-Up-or-Entering-a-String.html#Looking-Up-or-Entering-a-String" accesskey="2">Looking Up or Entering a String</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  94. </td></tr>
  95. <tr><td align="left" valign="top">&bull; <a href="Traversing-a-Hash-Table.html#Traversing-a-Hash-Table" accesskey="3">Traversing a Hash Table</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  96. </td></tr>
  97. <tr><td align="left" valign="top">&bull; <a href="Deriving-a-New-Hash-Table-Type.html#Deriving-a-New-Hash-Table-Type" accesskey="4">Deriving a New Hash Table Type</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  98. </td></tr>
  99. </table>
  100. </body>
  101. </html>