鱼C论坛

 找回密码
 立即注册
查看: 2272|回复: 4

这样做有什么意义?

[复制链接]
发表于 2014-6-20 11:03:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 catch 于 2014-6-20 14:38 编辑

#ifndef    uint32_t                                           ...................①

typedef    __int32_t     uint32_t ;                    ...................②


#define    uint32_t        __uint32_t ;               ...................③


#endif                                                               ...................④


请问一下②与③为什么要重复定义?


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-20 13:02:15 | 显示全部楼层
3有点问题吧,按一般的写法,应该是
#define    uint32_t       __uint32_t ;                 ...................③

因为你开始ifndef uint32_t      
没定义uint32_t 就执行下面的语句,包含在ifndef中的语句,就该定义这个uint32_t了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-20 14:43:14 | 显示全部楼层

谢谢指正~ 但是有一个问题, 如果 uint32_t 没有定义,那么 __int32_t 一定是定义过的,否则 没有意义的,执行过②以后,显然 __int32_t   和  uint32_t  定义的数据效果一样,相当于同一种数据类型,那么③是不是多余的呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-21 00:06:19 | 显示全部楼层
catch 发表于 2014-6-20 14:43
谢谢指正~ 但是有一个问题, 如果 uint32_t 没有定义,那么 __int32_t 一定是定义过的,否则 ②没有意义的,执 ...

一般3存在的目的,就是防止头文件重复包含导致的重复定义。
通过ifndef 和 define,就可以避免头文件重复包含了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-21 00:42:24 | 显示全部楼层
俺来学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 12:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表