C怎么判断是否包含了某个头文件
考虑过使用#ifndef,但是那个是为了防止某个头文件被反复包含的。我的问题是如何判断某个头文件(比如windows.h)是不是包含了,如果没有包含的话需要进行某个操作,...
考虑过使用#ifndef,但是那个是为了防止某个头文件被反复包含的。我的问题是如何判断某个头文件(比如windows.h)是不是包含了,如果没有包含的话需要进行某个操作,包含了的话就不需要了,这中情况下怎么弄呢?有没有这样的语句
比如我封装一个类,这个类在使用时有可能包含Windows.h,也有可能不包含。但是类中需要使用DWORD等类型,这时如果不包含windows.h就需要自己定义DWORD类型,而如果包含了Windows.h再定义DWORD就会出错。为了保证程序的通用性,这种问题怎么解决呢? 展开
比如我封装一个类,这个类在使用时有可能包含Windows.h,也有可能不包含。但是类中需要使用DWORD等类型,这时如果不包含windows.h就需要自己定义DWORD类型,而如果包含了Windows.h再定义DWORD就会出错。为了保证程序的通用性,这种问题怎么解决呢? 展开
展开全部
追问
比如我封装一个类,这个类在使用时有可能包含Windows.h,也有可能不包含。但是类中需要使用DWORD等类型,这时如果不包含windows.h就需要自己定义DWORD类型,而如果包含了Windows.h再定义DWORD就会出错。为了保证程序的通用性,这种问题怎么解决呢?
追答
编译和链接过程,会有出错信息,根据出错信息,找到出错地点修正。
你的意思,总不至于通过“语句”“定义”达到没有 编译和链接出错信息,不须 debug 吧?
这点是做不到的。
宏定义 重复定义 会有 警告信息,一样可以运行。例如
#define DWORD unsigned int
#define DWORD unsigned int
#define X 0
#define X 1
DWORD 这句没问题,因为两句定义得一样。
X 有 警告信息, 数值以后定义的为准。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询