Предустановленный макрос
Rc не поддерживает предопределенные макросы ANSI C (__DATE__, __FILE__, __LINE__, __STDC__, __TIME____TIMESTAMP__). Поэтому эти макросы нельзя включать в файлы заголовков, которые будут включены в скрипт ресурсов.
Кандидат-кандидат определяет RC_INVOKED, что позволяет условно компилировать части файлов заголовков в зависимости от того, является ли компилятор компилятором C или компилятором-кандидатом. Это важно, так как компилятор-кандидат поддерживает только подмножество инструкций, которые будет поддерживать компилятор C.
Чтобы условно скомпилировать код с помощью компилятора-кандидата, заключите код, который не может компилироваться с помощью #ifndef RC_INVOKED и #endif.
Следующий пример взят из примеров пакета SDK. В нем показано, как создать файл заголовка, который можно скомпилировать условно.
#ifndef RC_INVOKED
#pragma message("Including CntrOutl.H from " __FILE__)
#endif