Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

119 lines
5.7KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1992-2020 Free Software Foundation, Inc.
  4. Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
  5. and David MacKenzie.
  6. Permission is granted to copy, distribute and/or modify this document
  7. under the terms of the GNU Free Documentation License, Version 1.3 or
  8. any later version published by the Free Software Foundation; with no
  9. Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
  10. Texts. A copy of the license is included in the section entitled "GNU
  11. Free Documentation License". -->
  12. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  15. <title>Cross-References (STABS)</title>
  16. <meta name="description" content="Cross-References (STABS)">
  17. <meta name="keywords" content="Cross-References (STABS)">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="Types.html#Types" rel="up" title="Types">
  25. <link href="Subranges.html#Subranges" rel="next" title="Subranges">
  26. <link href="Miscellaneous-Types.html#Miscellaneous-Types" rel="prev" title="Miscellaneous Types">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.indentedblock {margin-right: 0em}
  31. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  32. blockquote.smallquotation {font-size: smaller}
  33. div.display {margin-left: 3.2em}
  34. div.example {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style: oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nolinebreak {white-space: nowrap}
  49. span.roman {font-family: initial; font-weight: normal}
  50. span.sansserif {font-family: sans-serif; font-weight: normal}
  51. ul.no-bullet {list-style: none}
  52. -->
  53. </style>
  54. </head>
  55. <body lang="en">
  56. <a name="Cross_002dReferences"></a>
  57. <div class="header">
  58. <p>
  59. Next: <a href="Subranges.html#Subranges" accesskey="n" rel="next">Subranges</a>, Previous: <a href="Miscellaneous-Types.html#Miscellaneous-Types" accesskey="p" rel="prev">Miscellaneous Types</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
  60. </div>
  61. <hr>
  62. <a name="Cross_002dReferences-to-Other-Types"></a>
  63. <h3 class="section">5.3 Cross-References to Other Types</h3>
  64. <p>A type can be used before it is defined; one common way to deal with
  65. that situation is just to use a type reference to a type which has not
  66. yet been defined.
  67. </p>
  68. <p>Another way is with the &lsquo;<samp>x</samp>&rsquo; type descriptor, which is followed by
  69. &lsquo;<samp>s</samp>&rsquo; for a structure tag, &lsquo;<samp>u</samp>&rsquo; for a union tag, or &lsquo;<samp>e</samp>&rsquo; for
  70. a enumerator tag, followed by the name of the tag, followed by &lsquo;<samp>:</samp>&rsquo;.
  71. If the name contains &lsquo;<samp>::</samp>&rsquo; between a &lsquo;<samp>&lt;</samp>&rsquo; and &lsquo;<samp>&gt;</samp>&rsquo; pair (for
  72. C<tt>++</tt> templates), such a &lsquo;<samp>::</samp>&rsquo; does not end the name&mdash;only a single
  73. &lsquo;<samp>:</samp>&rsquo; ends the name; see <a href="Nested-Symbols.html#Nested-Symbols">Nested Symbols</a>.
  74. </p>
  75. <p>For example, the following C declarations:
  76. </p>
  77. <div class="example">
  78. <pre class="example">struct foo;
  79. struct foo *bar;
  80. </pre></div>
  81. <p>produce:
  82. </p>
  83. <div class="example">
  84. <pre class="example">.stabs &quot;bar:G16=*17=xsfoo:&quot;,32,0,0,0
  85. </pre></div>
  86. <p>Not all debuggers support the &lsquo;<samp>x</samp>&rsquo; type descriptor, so on some
  87. machines GCC does not use it. I believe that for the above example it
  88. would just emit a reference to type 17 and never define it, but I
  89. haven&rsquo;t verified that.
  90. </p>
  91. <p>Modula-2 imported types, at least on AIX, use the &lsquo;<samp>i</samp>&rsquo; type
  92. descriptor, which is followed by the name of the module from which the
  93. type is imported, followed by &lsquo;<samp>:</samp>&rsquo;, followed by the name of the
  94. type. There is then optionally a comma followed by type information for
  95. the type. This differs from merely naming the type (see <a href="Typedefs.html#Typedefs">Typedefs</a>) in
  96. that it identifies the module; I don&rsquo;t understand whether the name of
  97. the type given here is always just the same as the name we are giving
  98. it, or whether this type descriptor is used with a nameless stab
  99. (see <a href="String-Field.html#String-Field">String Field</a>), or what. The symbol ends with &lsquo;<samp>;</samp>&rsquo;.
  100. </p>
  101. <hr>
  102. <div class="header">
  103. <p>
  104. Next: <a href="Subranges.html#Subranges" accesskey="n" rel="next">Subranges</a>, Previous: <a href="Miscellaneous-Types.html#Miscellaneous-Types" accesskey="p" rel="prev">Miscellaneous Types</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
  105. </div>
  106. </body>
  107. </html>