c中define的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 10:51:03
开始有#define code; 这一句,没有给code赋值
后来 有 extern code BYTE USB_AutoVector;
这是什么意思啊 定义个一个extern BYTE 的 USB_AutoVector吗?
那和code有什么关系啊。 开始定义code 又有什么意义呢。

extern code BYTE USB_AutoVector;
内容还是
extern BYTE USB_AutoVector;

但是如果你前面code没定义,到这里编译就编译不过去了
可以认为是一个人为的编译开关

像这种定义形式一般都是防止文件被二次包含而用的#define code,这个虽然没有被赋值,但是已经定义了,如果要是在别的地方再被定义,那就会出错了

#ifndef xxx//如果没有定义xxx (一般是头文件的名 防止被多次调用)
#define xxx//定义xxx
#endif //结束