OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 14 Декабрь, 2017 13:10

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




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Вторник, 01 Август, 2017 10:58 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 620
Откуда: Казань
В BlackBox скорее всего есть оптимизация, связанная с вычислением констант на этапе компиляции. Если обе части бинарной операции константы, то результат вычисляется на этапе компиляции. Например, CONST MegaByte = 1024 * 1024; Умножение будет выполнено на этапе компиляции и будет получен результат 1048576.

Допустим есть выражение y := x + 100 + 1, то казалось бы, компилятор используя такую простую оптимизацию должен вычислить 100 + 1 и сразу подставить 101, но если компилятор рассматривает выражение, как y := ((x + 100) + 1), то выражение в первых скобках не является константой поэтому и +1 не будет прибавляться, а все эти операции будут выполняться в run-time. А, если, допустим, написать, y := 100 + 1 + x, то компилятор сможет на этапе компиляции вычислить 100 + 1, так как будет вычислять y := ((100 + 1) + x).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Август, 2017 22:17 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1526
Откуда: Беларусь, Минск
Не знаю, как сделано в Блекбоксе, но всё оно будет вычисляться.


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

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


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

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


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

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