我想在程序中有条件地包含头文件。有可能吗,如果可以,我该怎么做?

我的想法是做这样的事情:

switch(opt)
{
case 0:
    {
        #include "matrix.h"
        break;
    }
case 1:
    {
        #include "grid.h"
        break;
    }
}

这是我撰写时VS所做的事情。这样对吗?

最佳答案

编译时间时,您可以控制,并有条件地包含头文件

#ifdef MAGIC
#include "matrix.h"
#else
#include "grid.h"
#endif

在编译时
gcc -D MAGIC=1 file.c

或者
gcc file.c

但是在运行时 时,无法有条件地包含头文件

这意味着您的伪代码无法显示。

关于c - #include在代码中间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21456944/

10-11 16:35
查看更多