Форум: "Прочее";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
ВнизFree() Найти похожие ветки
← →
Loginov Dmitry © (2007-02-28 22:16) [120]> Тут в соседней ветке Алекс Коншин пишет про исключения -
> почитай, оно интересно
Интересно конечно. Постараюсь в эти технологии трассировки стэка вникнуть поскорее.
Но хотелось бы ответа на вопрос [118].
← →
Аноним (2007-03-01 00:12) [121]
> Постараюсь в эти технологии трассировки стэка вникнуть поскорее.
>
Если вникнешь, надобность ответа на [118] отпадет сама собой
← →
Loginov Dmitry © (2007-03-03 12:12) [122]Потратил весьма много времени на надлежащее изменение исходников Matrix32. Были учтены все советы и критика, имевшая место в данной ветке. Работа с исключениями улучшена (причем коренным образом). Многие функции по-прежднему обернуты в try...except, однако смысл такой обертки меняется в зависимости от директивы условной компиляции RecreateEObj. Если директива включена, то объект исключения пересоздается, причем в текст исключения может быть добавлена отладочная информация. Если директива выключена, то оператор try...except компилируется как:
try
....
except
on E: Exception do
raise;
end;
То есть фактически получаем Stack frame, который к тому же может быть очень полезным при использовании отладочных средств (jcl, библиотека отладки от Алекса Коншина). Также при выключенной опции RecreateEObj размер ехе-шника уменьшается примерно на 5 Кбайт.
Также немало внимания было уделено оформлению кода. Теперь код Matrix32, я считаю, вполне соответствует общепризнанным стандартам.
Ссылка также:
http://matrix.kladovka.net.ru/download.php?getfilename=uploads/heart/matrix32.zip
Интересно было бы узнать, чем же теперь библиотека недотягивает до open-source - инструментария? (Кроме недостатка в объемах тестирования)
← →
euru © (2007-03-03 12:53) [123]
> Loginov Dmitry © (03.03.07 12:12) [122]
Сразу скажу, исходники я не смотрел. Но как по типу исключения Exception программа определит, что именно вызвало исключение?
← →
Loginov Dmitry © (2007-03-03 12:56) [124]Есть тип исключения. Есть текст исключения. Есть стек вызовов. Что еще нужно?
← →
Ketmar © (2007-03-03 13:31) [125]интересные люди.
except
raise;
end;
и какую-нибудь фигню перед raise, чтобы шибко умный компилер не удалил код (кстати, а он удаляет подобные пустые обработчики? или умишка не хватает?).
← →
Loginov Dmitry © (2007-03-03 13:58) [126]от D7 не удаляет. А вообще - не принципиально. Пусть хоть удаляет. Stack frames всегда можно и в опциях проекта включить.
← →
Ketmar © (2007-03-03 14:07) [127]точно так же, как и отладчик. в этом случае нафиг нужны трассировки?
← →
Loginov Dmitry © (2007-03-03 21:22) [128]А кстати: GUID для определения живочести ссылки рулит не по децки (глобальный список вообще курит в стороне), если создать миллиончик объектов TMatrix (в гуидами это добро создается на секунду, с глобальным списком - не менее часа) (это так, навеяло веткой http://delphimaster.net/view/15-1172930690/) :))
P.S. [122] пост проигнорили конкретно :(
← →
Loginov Dmitry © (2007-03-03 21:26) [129]Хотя вру все-таки. Убрал проверку IndexOf, и скорость стала одинаковой :)
Страницы: 1 2 3 4 вся ветка
Форум: "Прочее";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
Память: 0.75 MB
Время: 0.096 c