Использование специальных директив



Использование специальных директив

Использование директивы компилятора $IFDEF является достаточно разумным путем для разделения кода Windows и Linux в вашем межплатформенном приложении. Тем не менее, использование директивы $IFDEF делает код приложения более трудным для понимания, поэтому старайтесь применять эту директиву как можно реже.

Пользуясь директивой $IFDEF, следуйте нижеприведенным указаниям:

  • постарайтесь не применять директиву $IFDEF без крайней необходимости. Эта директива применяется в исходном файле только после компиляции;
  • не используйте директиву $IFDEF в файлах пакетов (dpk). Создателям компонентов нужно разработать два пакета для каждой из платформ без использования директивы $IFDEF;
  • применяйте директиву $IFDEF MSWINDOWS для проверки того, что приложение запущено в среде Windows. Используйте директиву $IFDEF WIN32 для определения различных Windows-платформ, например 32- и 64-битную версии Windows;
  • используйте директиву $IFDEF LINUX для проверки того, что приложение запущено в среде Linux;
  • избегайте в своих приложениях комбинации $IFNDEF/$ELSE. Пользуйтесь положительными тестами ($IFDEF/$ELSE) для лучшего понимания кода;
  • старайтесь использовать директивы $IFDEF MSWINDOWS и $IFDEF LINUX вместо комбинаций $IFDEF LINUX/$ELSE или $IFDEF MSWINDOWS/$ELSE.

Приведем пример неосторожного обращения с директивой $IFDEFF (листинг 21.4).



- Начало - - Назад - - Вперед -