(no subject)

Wednesday, 7 September 2011 17:11
gns_ua: (Default)
[personal profile] gns_ua
то что ты сейчас пытаешься сделать (использовать ассемблер в программах на Delphi) — ошибка. Генетическая. Российская. Всей образовательной системы страны. Таких преподов надо увольнять сразу же. Если выжигать эту дурь из мозгов каленым железом не получается. Правильно им копейки платят. Они это заслужили.

http://lurkmore.ru/Pascal#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B_.D0.9F.D0.A0.D0.90.D0.92.D0.94.D0.AB_.D0.BF.D1.80.D0.BE_Delphi

А я говорил!

2011-09-07 21:17 (UTC)
- Posted by [identity profile] v-l-a-d.livejournal.com
Под "декомпозировать" я в данном случае подразумеваю "бить на более мелкие функции", если что

2011-09-08 10:34 (UTC)
- Posted by [identity profile] st-archer.livejournal.com
Кстати, педивикия нам намекает:

Другие варианты решения этой проблемы — помещение вложенных циклов в отдельную процедуру и использование команды досрочного выхода из процедуры, а в языках с поддержкой исключений — генерацию исключения, обработчик которого располагается за пределами циклов. Однако подобные решения могут снижать производительность, в особенности если этот участок кода вызывается многократно (поскольку и вызовы процедур, и операторы работы с исключениями транслируются далеко не в одну машинную инструкцию).

2011-09-08 10:46 (UTC)
- Posted by [identity profile] gns-ua.livejournal.com
Педивикию писали задроты, дрочащие на машинные такты.

> Однако подобные решения могут снижать производительность, в особенности если этот участок кода вызывается многократно (поскольку и вызовы процедур, и операторы работы с исключениями транслируются далеко не в одну машинную инструкцию).

Инлайн!

Или, к примеру, посмотри на хаскел и осознай что вот ЭТО хуйзнаетшо компилируется в вообще хуй проссышь ассемблерную кашу - но работает, сцуко, быстро и решительно.

2011-09-08 13:18 (UTC)
- Posted by [identity profile] v-l-a-d.livejournal.com
Все нормальные компиляторы цэ/цэ-плюс-плюс сами умеют инлайнить функции, когда надо.

А вот throw - да, там вообще какая-то дикая херь в ассемблере генерится. Так что исключения стоит использовать для действительно исключительных ситуаций.

2011-09-08 13:22 (UTC)
- Posted by [identity profile] st-archer.livejournal.com
А ведь, к слову, риальне соблазнительный вариант: к примеру, надо считать число из строки. Лабаешь

String str = "четотам";
try
{
int temp = (int)str;
}
catch(ArgumentException e)

И вуаля.

Profile

gns_ua: (Default)
gns_ua

April 2017

M T W T F S S
     12
3456789
10111213141516
17181920212223
24252627282930

Expand Cut Tags

No cut tags