(1) Вы можете определить макрос макроса, как в макросе, содержащем другой макрос.
(2) Однако вы не можете определить макрос макроса, как #define INCLUDE #define STDH include <stdio.h>
.
Здесь представлена очень простая основанная на макросах программа Hello World (для первого случая).Здесь MAIN
- это макрос, содержащий макрос HELLOWORLD
.
#include <stdio.h>
#define HELLOWORLD printf("Hello, World!") // Macro
#define MAIN int main() { HELLOWORLD; return 0; } // Macro containing HELLOWORLD macro
MAIN
, предварительно обработанный до
#include <stdio.h>
int main() {
HELLOWORLD;
return 0;
}
, который затем предварительно обработан до
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}