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


Предопределенные макросы

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