Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2007-07-02 14:23:47 ЛС | профиль | цитата
Dilma писал(а):
SubType = 0 для всех типов отличных от data_code

Пока не заметил, но это, действительно - дело техники
Просто я не въехал: ты говорил оказывается (это я сейчас так думаю) про дублирование одинаковых вычислений

Дык тут я еще подолью соли на рану

Есть фундаментальная вещь в языке: атрибут volatile
Так вот: в CPP он есть, а в Дельфях его нет по определению.
Если какая-то переменная имеет этот атрибут, это означает, что нельзя использовать логику: там хранится то, чего именно ты записал (или прочитал) оттуда ранее. Например, это значение может изменить параллельный поток, или еще какая ерунда.

Если в вышеприведенном выражении хоть одна такая, не имеет право, к примеру - HUB, произвести такие вычисления, и отправить по всем веткам результат.
Кстати говоря, наличие (или нет) такого понятия - volatile, в языке, серьезно определяют его возможности "агрессивной" оптимизации
И еще кстати: это нас касается тоже...

Как я на это наступал
Пользовал IAR-овский CPP под embeded.
Main у меня, значит, обнулил некий флаговый регистр и ждет в цикле появления каких-то там битиков (которые установят прерывания, прописанные в другом совсем файле, да и на другом языке - asm-е).
Ну и пустой Main мне компилировался - dead-code-elimination
Пока не прописал сей знаменитый атрибут этому флаговому регистру.
С тех пор я про это знаю.
карма: 9

0