tmp/tmptpb1__0c/{from.md → to.md}
RENAMED
|
@@ -43,11 +43,11 @@ A preprocessing directive of the form
|
|
| 43 |
(that does not match one of the two previous forms) is permitted. The
|
| 44 |
preprocessing tokens after `include` in the directive are processed just
|
| 45 |
as in normal text (i.e., each identifier currently defined as a macro
|
| 46 |
name is replaced by its replacement list of preprocessing tokens). If
|
| 47 |
the directive resulting after all replacements does not match one of the
|
| 48 |
-
two previous forms, the behavior is undefined.[^
|
| 49 |
sequence of preprocessing tokens between a `<` and a `>` preprocessing
|
| 50 |
token pair or a pair of `"` characters is combined into a single header
|
| 51 |
name preprocessing token is *implementation-defined*.
|
| 52 |
|
| 53 |
The implementation shall provide unique mappings for sequences
|
|
@@ -58,10 +58,12 @@ alphabetical case.
|
|
| 58 |
|
| 59 |
A `#include` preprocessing directive may appear in a source file that
|
| 60 |
has been read because of a `#include` directive in another file, up to
|
| 61 |
an *implementation-defined* nesting limit.
|
| 62 |
|
|
|
|
|
|
|
| 63 |
Although an implementation may provide a mechanism for making arbitrary
|
| 64 |
source files available to the `< >` search, in general programmers
|
| 65 |
should use the `< >` form for headers provided with the implementation,
|
| 66 |
and the `" "` form for sources outside the control of the
|
| 67 |
implementation. For instance:
|
|
@@ -71,10 +73,14 @@ implementation. For instance:
|
|
| 71 |
#include <unistd.h>
|
| 72 |
#include "usefullib.h"
|
| 73 |
#include "myprog.h"
|
| 74 |
```
|
| 75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
This illustrates macro-replaced `#include` directives:
|
| 77 |
|
| 78 |
``` cpp
|
| 79 |
#if VERSION == 1
|
| 80 |
#define INCFILE "vers1.h"
|
|
@@ -84,5 +90,7 @@ This illustrates macro-replaced `#include` directives:
|
|
| 84 |
#define INCFILE "versN.h"
|
| 85 |
#endif
|
| 86 |
#include INCFILE
|
| 87 |
```
|
| 88 |
|
|
|
|
|
|
|
|
|
| 43 |
(that does not match one of the two previous forms) is permitted. The
|
| 44 |
preprocessing tokens after `include` in the directive are processed just
|
| 45 |
as in normal text (i.e., each identifier currently defined as a macro
|
| 46 |
name is replaced by its replacement list of preprocessing tokens). If
|
| 47 |
the directive resulting after all replacements does not match one of the
|
| 48 |
+
two previous forms, the behavior is undefined.[^4] The method by which a
|
| 49 |
sequence of preprocessing tokens between a `<` and a `>` preprocessing
|
| 50 |
token pair or a pair of `"` characters is combined into a single header
|
| 51 |
name preprocessing token is *implementation-defined*.
|
| 52 |
|
| 53 |
The implementation shall provide unique mappings for sequences
|
|
|
|
| 58 |
|
| 59 |
A `#include` preprocessing directive may appear in a source file that
|
| 60 |
has been read because of a `#include` directive in another file, up to
|
| 61 |
an *implementation-defined* nesting limit.
|
| 62 |
|
| 63 |
+
[*Note 1*:
|
| 64 |
+
|
| 65 |
Although an implementation may provide a mechanism for making arbitrary
|
| 66 |
source files available to the `< >` search, in general programmers
|
| 67 |
should use the `< >` form for headers provided with the implementation,
|
| 68 |
and the `" "` form for sources outside the control of the
|
| 69 |
implementation. For instance:
|
|
|
|
| 73 |
#include <unistd.h>
|
| 74 |
#include "usefullib.h"
|
| 75 |
#include "myprog.h"
|
| 76 |
```
|
| 77 |
|
| 78 |
+
— *end note*]
|
| 79 |
+
|
| 80 |
+
[*Example 1*:
|
| 81 |
+
|
| 82 |
This illustrates macro-replaced `#include` directives:
|
| 83 |
|
| 84 |
``` cpp
|
| 85 |
#if VERSION == 1
|
| 86 |
#define INCFILE "vers1.h"
|
|
|
|
| 90 |
#define INCFILE "versN.h"
|
| 91 |
#endif
|
| 92 |
#include INCFILE
|
| 93 |
```
|
| 94 |
|
| 95 |
+
— *end example*]
|
| 96 |
+
|