Udostępnij za pośrednictwem


Wstępnie zdefiniowane makra

Rc nie obsługuje wstępnie zdefiniowanych makr ANSI C (__DATE__, __FILE__, __LINE__, __STDC__, __TIME__, __TIMESTAMP__). W związku z tym nie można uwzględnić tych makr w plikach nagłówków, które zostaną dołączone do skryptu zasobu.

Rc definiuje RC_INVOKED, co umożliwia warunkowe kompilowanie części plików nagłówków, w zależności od tego, czy kompilator języka C jest kompilatorem języka C, czy kompilatorem RC. Jest to ważne, ponieważ kompilator RC obsługuje tylko podzestaw instrukcji, które będzie obsługiwał kompilator języka C.

Aby warunkowo skompilować kod za pomocą kompilatora RC, należy otoczyć kod, którego rc nie może skompilować przy użyciu #ifndef RC_INVOKED i #endif.

Poniższy przykład jest pobierany z przykładów zestawu SDK. Przedstawia sposób tworzenia pliku nagłówka, który można skompilować warunkowo.

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