[RK_2014_1024][C++_02]The C Preprocessor Macros,rk_2014_1024_02
1.The C Preprocessor Macros

![]()
The C Preprocessor
1 Overview
1.1 Character sets
1.2 Initial processing
1.3 Tokenization
1.4 The preprocessing language
2 Header Files
2.1 Include Syntax
2.2 Include Operation
2.3 Search Path
2.4 Once-Only Headers
2.5 Alternatives to Wrapper #ifndef
2.6 Computed Includes
2.7 Wrapper Headers
2.8 System Headers
3 Macros
3.1 Object-like Macros
3.2 Function-like Macros
3.3 Macro Arguments
3.4 Stringification
3.5 Concatenation
3.6 Variadic Macros
3.7 Predefined Macros
3.7.1 Standard Predefined Macros
3.7.2 Common Predefined Macros
3.7.3 System-specific Predefined Macros
3.7.4 C++ Named Operators
3.8 Undefining and Redefining Macros
3.9 Directives Within Macro Arguments
3.10 Macro Pitfalls
3.10.1 Misnesting
3.10.2 Operator Precedence Problems
3.10.3 Swallowing the Semicolon
3.10.4 Duplication of Side Effects
3.10.5 Self-Referential Macros
3.10.6 Argument Prescan
3.10.7 Newlines in Arguments
4 Conditionals
4.1 Conditional Uses
4.2 Conditional Syntax
4.2.1 Ifdef
4.2.2 If
4.2.3 Defined
4.2.4 Else
4.2.5 Elif
4.3 Deleted Code
5 Diagnostics
6 Line Control
7 Pragmas
8 Other Directives
9 Preprocessor Output
10 Traditional Mode
10.1 Traditional lexical analysis
10.2 Traditional macros
10.3 Traditional miscellany
10.4 Traditional warnings
11 Implementation Details
11.1 Implementation-defined behavior
11.2 Implementation limits
11.3 Obsolete Features
11.3.1 Assertions
11.4 Differences from previous versions
12 Invocation
13 Environment Variables
GNU Free Documentation License
ADDENDUM: How to use this License for your documents
Index of Directives
Option Index
Concept Index
Table of Contents
5.本文網址[tom-and-jerry發布於2014-10-25 15:01]
http://www.cnblogs.com/tom-and-jerry/p/4050131.html
C語言 編譯 ERROR: PREPROCESSOR: MACROS TOO NESTED
你前面7個宏定義怎麼回事?用同一個數組名來表示7個不同大小的數組空間?我沒有見過這種用法
單片機中出現這樣的錯誤們指條明路 MACROS TOO NESTED C51 TERMINATEDTarget not created
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint);
void main()
{
temp=0xfe;
P1=temp;
while(1)
{
temp=_crol_(temp,1);
delay(600);
P1=temp;
}
}
void delay(uint ms)
{
uint i;
for(i=0;i<ms;i++)
{
}
}