#define 这种宏定义的方法有许多中,用起来也极大的方便了用户对程序的理解,在***.h文件中需要通过#ifndef **** #define *** *** #endif的方式来避免重复编译的问题,这是在头文件定义的时候所碰到的问题;
在文件中也会遇到#ifndef *** #define *** 在这之后有时候会加一个数字,例如下面的语句
#ifndef LWIP_TCP_KEEPALIVE #define LWIP_TCP_KEEPALIVE 0 #endif通常这个时候就会疑问,为什么需要在后面添加一个零,这个零的具体作用又是什么呢?通常宏定义是#define 宏名(形参表) 字符串,有时候定义时仅仅定义一个宏名称,像下面这样;
#ifndef LWIP_TCP_KEEPALIVE #define LWIP_TCP_KEEPALIVE #endif这样也是可以的,而在后面添加数字,如果仅仅是用在这里是没有意义的,但是这样定义是会在其他判断语句中起作用,比如说这里有一个条件判断语句,#if LWIP_TCP_KEEPSLIVE这个时候定义后面的数字就会起作用了,这也是宏定义的一个应用,在应用时应该细心观察,另外宏定义还有许多复杂的功能,在今后的应用中可以多多留意,在后面学习中逐渐添加修改,