Поделиться через


Предустановленный макрос

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