我不明白这个,请各位帮我解释一下... About #define #undefine endif
#undef _WIN32
#if !defined(_WIN32)
#error _WIN32 must be defined //error
#endif
int main() {
return 0;
}
问题点数:100、回复次数:7Top
1 楼xming076(虚名)回复于 2002-04-18 09:25:06 得分 10
#undef _WIN32 // 把_WIN32这个符号变为未定义的
#if !defined(_WIN32) // 如果没有_WIN32这个定义符号
#error _WIN32 must be defined // 在编译器下就会出现这个信息
#endifTop
2 楼totalindex(洪清)回复于 2002-04-18 09:29:50 得分 10
#undef _WIN32 // 取消_WIN32宏定义
#if !defined(_WIN32) // 如果未定义_WIN32宏
#error _WIN32 must be defined // 在编译时显示错误信息
#endif // 与前面最近的#if(或其它#if类型)匹配,表示if结束Top
3 楼findcaiyzh(秋心)回复于 2002-04-18 09:33:01 得分 10
防止重复包含。很有用的东东。Top
4 楼ericzhangali(另一个空间)回复于 2002-04-18 09:37:05 得分 0
条件编译,语言语法书上应该都有。Top
5 楼hyc1980(???)回复于 2002-04-18 09:45:30 得分 0
这叫Compiler Directive,你可以查找一下msdn可以看到很详细的说明Top
6 楼cqtine(河沙)回复于 2002-04-18 09:51:06 得分 0
各位看:
#undef _WIN32 // 在这里 取消了 _WIN32 宏定义 ?
#if !defined(_WIN32) // 上面已经取消了,那这里再判断是否定义?可能意
义不大,为什么还定义???
#error _WIN32 must be defined
#endif
TO : findcaiyzh(秋心) :
这个东东如何实现防止重复包含,请那位详细举例说明一下,这个条件编译、重复包
含等东西长期困扰着我,希望仁兄门多多举例说明!!
我最后整理,贴出,供如我一样的初学者朋友学习!!!
Top
7 楼opentuxedo(借哥哥的号来试试)回复于 2002-04-18 10:21:13 得分 70
这几句话是让你一定要包含一个头文件(应该是windows),因为头文件中定义了_WIN32,如果你不包含的话,就出错
#undef _WIN32
#include "*.h"//_WIN32在些文件中定义
#if !defined(_WIN32)
#error _WIN32 must be defined //error
#endif
int main() {
return 0;
}
Top
相关问题
- 关于#ifndef#define#endif,
- #if _MSC_VER > 1000 #pragma once #endif 这三行代码谁解释一下?
- 关于#ifndef #define #endif的问题
- 关于#ifndef #define #endif的问题
- #ifndef _PortClass_HPP_ define _PortClass_HPP #endif 是什么意思?
- 问一个关于#ifndef#define#endif的问题
- 请问:#ifndef #define #endif结构是什么意思?
- #pragma once 和 #ifndef #define ...#endif 有什么不同?
- #define DOUBLE(x) x+x这是什么意思?给解释一下i = 5*DOUBLE(10);为什么i是60,给解释一下,在线等
- 怎么解释:送分#define CONFIG_CMD(bus, device_fn, where) (0x80000000 | (bus << 16) | (device_fn << 8) | (where & ~3))




