宏定义到底是干嘛的??
还是不明白宏到底是干嘛的
还是不明白宏到底是干嘛的
2018-05-18
百度百科概念:宏(Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。
课程里使用宏定义防止重定义我是这样理解的:
#ifndef XXX_H //编译时编译器检测 XXX_H 是否已被定义,若无则执行下列代码
#define XXX_H //宏定义 XXX_H
……
#endif //结束语句
在文件开头加入这两行代码,编译器第一次编译该文件时,XXX_H未被定义,执行该文件的编译,定义XXX_H;
当程序需要第二次编译该文件时,由于XXX_H已被定义,编译器便不会再次进行编译,也就防止了重定义。
举报