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.

преди 3 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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>Define the Derived Structures (Untitled Document)</title>
  22. <meta name="description" content="Define the Derived Structures (Untitled Document)">
  23. <meta name="keywords" content="Define the Derived Structures (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="Deriving-a-New-Hash-Table-Type.html#Deriving-a-New-Hash-Table-Type" rel="up" title="Deriving a New Hash Table Type">
  31. <link href="Write-the-Derived-Creation-Routine.html#Write-the-Derived-Creation-Routine" rel="next" title="Write the Derived Creation Routine">
  32. <link href="Deriving-a-New-Hash-Table-Type.html#Deriving-a-New-Hash-Table-Type" rel="prev" title="Deriving a New Hash Table Type">
  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="Define-the-Derived-Structures"></a>
  63. <div class="header">
  64. <p>
  65. Next: <a href="Write-the-Derived-Creation-Routine.html#Write-the-Derived-Creation-Routine" accesskey="n" rel="next">Write the Derived Creation Routine</a>, Previous: <a href="Deriving-a-New-Hash-Table-Type.html#Deriving-a-New-Hash-Table-Type" accesskey="p" rel="prev">Deriving a New Hash Table Type</a>, Up: <a href="Deriving-a-New-Hash-Table-Type.html#Deriving-a-New-Hash-Table-Type" accesskey="u" rel="up">Deriving a New Hash Table Type</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="Define-the-derived-structures"></a>
  69. <h4 class="subsubsection">2.18.4.1 Define the derived structures</h4>
  70. <p>You must define a structure for an entry in the hash table,
  71. and a structure for the hash table itself.
  72. </p>
  73. <p>The first field in the structure for an entry in the hash
  74. table must be of the type used for an entry in the hash table
  75. you are deriving from. If you are deriving from a basic hash
  76. table this is <code>struct bfd_hash_entry</code>, which is defined in
  77. <code>bfd.h</code>. The first field in the structure for the hash
  78. table itself must be of the type of the hash table you are
  79. deriving from itself. If you are deriving from a basic hash
  80. table, this is <code>struct bfd_hash_table</code>.
  81. </p>
  82. <p>For example, the linker hash table defines <code>struct
  83. bfd_link_hash_entry</code> (in <code>bfdlink.h</code>). The first field,
  84. <code>root</code>, is of type <code>struct bfd_hash_entry</code>. Similarly,
  85. the first field in <code>struct bfd_link_hash_table</code>, <code>table</code>,
  86. is of type <code>struct bfd_hash_table</code>.
  87. </p>
  88. </body>
  89. </html>