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.

Preprocessing.html 5.0KB

3 jaren geleden
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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 GNU Assembler "as".
  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
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  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>Preprocessing (Using as)</title>
  16. <meta name="description" content="Preprocessing (Using as)">
  17. <meta name="keywords" content="Preprocessing (Using as)">
  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="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="Syntax.html#Syntax" rel="up" title="Syntax">
  25. <link href="Whitespace.html#Whitespace" rel="next" title="Whitespace">
  26. <link href="Syntax.html#Syntax" rel="prev" title="Syntax">
  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="Preprocessing"></a>
  57. <div class="header">
  58. <p>
  59. Next: <a href="Whitespace.html#Whitespace" accesskey="n" rel="next">Whitespace</a>, Up: <a href="Syntax.html#Syntax" accesskey="u" rel="up">Syntax</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  60. </div>
  61. <hr>
  62. <a name="Preprocessing-1"></a>
  63. <h3 class="section">3.1 Preprocessing</h3>
  64. <a name="index-preprocessing"></a>
  65. <p>The <code>as</code> internal preprocessor:
  66. </p><ul>
  67. <li> <a name="index-whitespace_002c-removed-by-preprocessor"></a>
  68. adjusts and removes extra whitespace. It leaves one space or tab before
  69. the keywords on a line, and turns any other whitespace on the line into
  70. a single space.
  71. </li><li> <a name="index-comments_002c-removed-by-preprocessor"></a>
  72. removes all comments, replacing them with a single space, or an
  73. appropriate number of newlines.
  74. </li><li> <a name="index-constants_002c-converted-by-preprocessor"></a>
  75. converts character constants into the appropriate numeric values.
  76. </li></ul>
  77. <p>It does not do macro processing, include file handling, or
  78. anything else you may get from your C compiler&rsquo;s preprocessor. You can
  79. do include file processing with the <code>.include</code> directive
  80. (see <a href="Include.html#Include"><code>.include</code></a>). You can use the <small>GNU</small> C compiler driver
  81. to get other &ldquo;CPP&rdquo; style preprocessing by giving the input file a
  82. &lsquo;<samp>.S</samp>&rsquo; suffix. <a href="https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html#Overall-Options">See the &rsquo;Options Controlling the Kind of Output&rsquo; section of the GCC manual for
  83. more details</a>
  84. </p>
  85. <p>Excess whitespace, comments, and character constants
  86. cannot be used in the portions of the input text that are not
  87. preprocessed.
  88. </p>
  89. <a name="index-turning-preprocessing-on-and-off"></a>
  90. <a name="index-preprocessing_002c-turning-on-and-off"></a>
  91. <a name="index-_0023NO_005fAPP"></a>
  92. <a name="index-_0023APP"></a>
  93. <p>If the first line of an input file is <code>#NO_APP</code> or if you use the
  94. &lsquo;<samp>-f</samp>&rsquo; option, whitespace and comments are not removed from the input file.
  95. Within an input file, you can ask for whitespace and comment removal in
  96. specific portions of the by putting a line that says <code>#APP</code> before the
  97. text that may contain whitespace or comments, and putting a line that says
  98. <code>#NO_APP</code> after this text. This feature is mainly intend to support
  99. <code>asm</code> statements in compilers whose output is otherwise free of comments
  100. and whitespace.
  101. </p>
  102. </body>
  103. </html>