我用的是vc6.0的单文档,在doc这个类里面,我定义了一个函数,部分代码如下:
if (streq(extension,"sat"))
{
#define SATLU 1
AfxMessageBox("SAT");
}
else if (streq(extension,"hsf"))
{
#define HSFLU 1
AfxMessageBox("HSF");
}
根据满足的情况,定义了不同的宏,然后我在这个类里面另外的一个函数,定义了一个条件编译:
#ifdef HSFLU
AfxMessageBox("HSF文件");
#endif
#ifdef SATLU
AfxMessageBox("ACIS文件");
#endif
可是不知道什么原因,现在我发现我定义的宏根本没有起到作用,这两个MessageBox总是出来,请各位大侠帮小弟看看,我实在是没有则了。
if (streq(extension,"sat"))
{
#define SATLU 1
AfxMessageBox("SAT");
}
else if (streq(extension,"hsf"))
{
#define HSFLU 1
AfxMessageBox("HSF");
}
根据满足的情况,定义了不同的宏,然后我在这个类里面另外的一个函数,定义了一个条件编译:
#ifdef HSFLU
AfxMessageBox("HSF文件");
#endif
#ifdef SATLU
AfxMessageBox("ACIS文件");
#endif
可是不知道什么原因,现在我发现我定义的宏根本没有起到作用,这两个MessageBox总是出来,请各位大侠帮小弟看看,我实在是没有则了。
setting/c++/pre..def
找找看
条件编译比如:
我这段代码可以运行在 Windows 和 Linux 上。
但是需要编译两个可运行的程序。
那么此时需要使用条件编译。
在不同时候使用不同的源代码。
而没有被编译的代码就和删除了是一样的。而你的这种情况是,在编译时条件的真假代码都是需要的。
所以不适用条件编译。