如何有选择地包含头文件

How to optionally include header file

在python我可以简单地做到这一点

def func():
    if condition:
        import something
    else:
        import somethingelse

在标准 ANSI C 中是否有任何方法或标准约定来执行此操作?如果有帮助,我需要打印语句在我在计算机上时关闭,而在我在嵌入式系统上时不要关闭,因为内部编译器可能无法使用打印功能。

#define SOME_CONSTANT

#ifdef SOME_CONSTANT

#include<header.h>

#else

#include<otherheader.h>

#endif

这通常通过条件编译来完成。

#if EMBEDDED == 1
#define print_xxx(...) (void)0
#endif

EMBEDDED 是否使用正确的值定义是在构建时确定的。届时,根据平台的不同,编译标志可以反映目标平台的类型。