预定义的宏

RC 不支持 ANSI C 预定义宏 (__DATE____FILE____LINE____STDC____TIME____TIMESTAMP__) 。 因此,不能将这些宏包含在要包含在资源脚本中的头文件中。

RC 确实定义了RC_INVOKED,这使你可以有条件地编译头文件的某些部分,具体取决于编译器是 C 编译器还是 RC 编译器。 这一点很重要,因为 RC 编译器仅支持 C 编译器支持的语句的子集。

若要使用 RC 编译器有条件地编译代码,请将 RC 不能使用 #ifndef RC_INVOKED 和 #endif 编译的代码括起来。

以下示例取自 SDK 示例。 它演示如何创建可以有条件编译的头文件。

#ifndef RC_INVOKED
#pragma message("Including CntrOutl.H from " __FILE__)
#endif