OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 14:18

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Замена условным директивам ifdef
СообщениеДобавлено: Воскресенье, 22 Апрель, 2012 20:33 

Зарегистрирован: Среда, 04 Август, 2010 04:01
Сообщения: 37
Откуда: Сан Хосе, Калифорния, США
Rifat писал(а):
Я считаю, что хоть в каком-нибудь виде, но препроцессор необходим. Например, в заголовочных файлах Windows при определении различных констант и т.д часто определение зависит от версии Windows для которой компилируется программа, от того 32 битная или 64 битная программа, UNICODE или нет.
Вот кусок кода из WinUser.h
Код:
#if (_WIN32_WINNT >= 0x0500)
#define WM_MOUSELAST                    0x020D
#elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
#define WM_MOUSELAST                    0x020A
#else
#define WM_MOUSELAST                    0x0209
#endif /* (_WIN32_WINNT >= 0x0500) */

Все эти комбинации по разным модулям разнести практически невозможно, так получится "комбинаторный взрыв".
Вот как раз для таких случаев был бы полезен препроцессор.


В ЧЯ уже есть встроенная возможность скрывать часть кода от компилятора. Достаточно выделить его из создать для него Fold (Toosl->Create Fold). Осталось лишь сделать условное открывани/закрывание этих фрагментов кода. И это было бы намного удобней чем текст наводненный всевозможными IFDEF. Выбрал нужную опцию и перед тобой текст именно в том виде, который будет с этой опцией скомпилирован. И что самое главное - это можно реализовать в виде примочки к среде, без внесения изменений в язык программирования.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Замена условным директивам ifdef
СообщениеДобавлено: Воскресенье, 22 Апрель, 2012 20:45 

Зарегистрирован: Среда, 04 Август, 2010 04:01
Сообщения: 37
Откуда: Сан Хосе, Калифорния, США
Oleg N. Cher писал(а):
Владислав Жаринов писал(а):
Ещё по теме. Аналог препроцессора может быть достигнут в ББ с помощью селекторов.

http://oberoncore.ru/wiki/blackbox/devselectors
viewtopic.php?f=1&t=435


Я тут предлагал Fold открываемые по условию, а оказалось что изобретал велосипед. Все в ББ уже сделано с помощью селекторов.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB