这样做有什么意义?
本帖最后由 catch 于 2014-6-20 14:38 编辑#ifndef uint32_t ...................①
typedef __int32_t uint32_t ; ...................②
#define uint32_t __uint32_t ; ...................③
#endif ...................④
请问一下②与③为什么要重复定义?
3有点问题吧,按一般的写法,应该是
#define uint32_t __uint32_t ; ...................③
因为你开始ifndef uint32_t
没定义uint32_t 就执行下面的语句,包含在ifndef中的语句,就该定义这个uint32_t了 vvqboy 发表于 2014-6-20 13:02 static/image/common/back.gif
3有点问题吧,按一般的写法,应该是
#define uint32_t __uint32_t ; .......... ...
谢谢指正~ 但是有一个问题, 如果 uint32_t 没有定义,那么 __int32_t 一定是定义过的,否则 ②没有意义的,执行过②以后,显然 __int32_t 和uint32_t定义的数据效果一样,相当于同一种数据类型,那么③是不是多余的呢?
catch 发表于 2014-6-20 14:43 static/image/common/back.gif
谢谢指正~ 但是有一个问题, 如果 uint32_t 没有定义,那么 __int32_t 一定是定义过的,否则 ②没有意义的,执 ...
一般3存在的目的,就是防止头文件重复包含导致的重复定义。
通过ifndef 和 define,就可以避免头文件重复包含了 俺来学习一下
页:
[1]