各位前辈,小弟最近阅读一些程序,遇到一个问题一直很困惑,诚心请教。
用C语言编写的单片机程序,含有多个C文件,多个h 文件,在含有main函数的C文件中,第一条指令是#define a,这里的a泛指一个变量,而在用户自定义的一个h文件中,与之对应的有这样几条指令:
#ifndef a
#define EXT extern
#else
#define EXT
#endif
我知道这是条件编译,这样写结果是执行: #define EXT
我要问的是,这几条指令的意义是什么?为了达到一个什么目的?我在好几种芯片包括pic,avr,freescale都见到这种形式,望前辈指点迷津! |