联合参谋部几个局:菜鸟问题:关于C语言中的类型定义

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 10:37:09
一个头文件里已经对比如UINT32之类进行了定义:
typedef unsigned long UINT32;
我同时在另一个文件里也想定义UINT32,是这样写的:
#ifndef UINT32
typedef unsigned long UINT32
#endif
我同一个C文件里,两个头文件都有引用,连编出现问题:
UINT32重复定义!
我应该怎么修改解决呢?

应该注意到typedef不是宏指令

如果你是使用windows.h,直接包含它就行了,想包含几次就包含几次,不用怕重定义。
如果你是自己写,改成:
define UINT32 unsigned long

#ifndef UINT32
define UINT32 unsigned long
#endif

如果要定义的这两个UINT32,是表示同一个的话,只需要在头文件中定义就可以了。如果不是的话,在下面的UINT32会将上面的屏蔽掉,建议改名。