Во-первых, #include по сути похоже на прямую вставку файла в ваш файл. Он запускается препроцессором компилятора, который запускается до компилятора . Препроцессор Google C для получения дополнительной информации ...
Обычно настройка:
#include "macros.h"
...
printf("Macro value %d\n", MACRO_HERE(1) );
и в вашем заголовочном файле macros.h
#ifndef MACROS_H_
#define MACROS_H_
#define MACRO_HERE( n ) ( n + 1 )
#endif
Обернутые #ifdef (s) предотвращают переопределение макроса, если позже у вас есть другой файл включения, который также включает macro.h
Смотрите также: #pragma Once (который также широко используется во многих компиляторах)