⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diagnostics.html

📁 gcc手册
💻 HTML
字号:
<html lang="en">

<head>

<title>The C Preprocessor</title>

<meta http-equiv="Content-Type" content="text/html">

<meta name="description" content="The C Preprocessor">

<meta name="generator" content="makeinfo 4.3">

<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">

<!--

Copyright &copy; 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,

1997, 1998, 1999, 2000, 2001, 2002, 2003

Free Software Foundation, Inc.



   <p>Permission is granted to copy, distribute and/or modify this document

under the terms of the GNU Free Documentation License, Version 1.1 or

any later version published by the Free Software Foundation.  A copy of

the license is included in the

section entitled "GNU Free Documentation License".



   <p>This manual contains no Invariant Sections.  The Front-Cover Texts are

(a) (see below), and the Back-Cover Texts are (b) (see below).



   <p>(a) The FSF's Front-Cover Text is:



   <p>A GNU Manual



   <p>(b) The FSF's Back-Cover Text is:



   <p>You have freedom to copy and modify this GNU Manual, like GNU

     software.  Copies published by the Free Software Foundation raise

     funds for GNU development. 

-->

</head>

<body>

<div class="node">

<p>

Node:<a name="Diagnostics">Diagnostics</a>,

Next:<a rel="next" accesskey="n" href="Line-Control.html#Line%20Control">Line Control</a>,

Previous:<a rel="previous" accesskey="p" href="Conditionals.html#Conditionals">Conditionals</a>,

Up:<a rel="up" accesskey="u" href="index.html#Top">Top</a>

<hr><br>

</div>



<h2 class="chapter">Diagnostics</h2>



   <p>The directive <code>#error</code> causes the preprocessor to report a fatal

error.  The tokens forming the rest of the line following <code>#error</code>

are used as the error message.



   <p>You would use <code>#error</code> inside of a conditional that detects a

combination of parameters which you know the program does not properly

support.  For example, if you know that the program will not run

properly on a VAX, you might write



<pre class="example">     #ifdef __vax__

     #error "Won't work on VAXen.  See comments at get_last_object."

     #endif

     </pre>



   <p>If you have several configuration parameters that must be set up by

the installation in a consistent way, you can use conditionals to detect

an inconsistency and report it with <code>#error</code>.  For example,



<pre class="example">     #if !defined(UNALIGNED_INT_ASM_OP) &amp;&amp; defined(DWARF2_DEBUGGING_INFO)

     #error "DWARF2_DEBUGGING_INFO requires UNALIGNED_INT_ASM_OP."

     #endif

     </pre>



   <p>The directive <code>#warning</code> is like <code>#error</code>, but causes the

preprocessor to issue a warning and continue preprocessing.  The tokens

following <code>#warning</code> are used as the warning message.



   <p>You might use <code>#warning</code> in obsolete header files, with a message

directing the user to the header file which should be used instead.



   <p>Neither <code>#error</code> nor <code>#warning</code> macro-expands its argument. 

Internal whitespace sequences are each replaced with a single space. 

The line must consist of complete tokens.  It is wisest to make the

argument of these directives be a single string constant; this avoids

problems with apostrophes and the like.



   </body></html>



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -