![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
что за глюк ! pt.2
Лом © (2006-01-27 04:54:00)
function TForm1.norm: double;
var
Sz,z:double;
i:integer;
begin
for i:=0 to 12 do
begin
z:=Random;
Sz:=Sz+z;
end;
Result:=Sz-6;
end;
при отладке выделенная строка вдет сбя так
1. i=13
2. i=12
3. i=11
....
12.i=0
почему при отладке цикл проходи именно так!!!
лом (2006-01-27 05:17:00) [1]Спасибо
Джо (2006-01-27 05:10:00) [2]П.С. Я не педант, но в форумах принято говорить "Спасибо" за оказанную помощь. Тем более, что тебе были даны ответы в двух ветках.
Джо (2006-01-27 05:09:00) [3]> [3] лом (27.01.06 05:03)
> Чем негативным грозит отключение Optimization
Тем, что генерируемый код будет неоптимизированным с точки зрения скорости выполнения (преимущественно).
В приведенном тобой коде от значения переменнойiабсолютно ничего не зависит, имеет значение только кол-во итераций, поэтому оптимизатор и сгенерировал тот код, который ему показался более производительным. Или предпочтительным по каким-либо иным причинам.
лом (2006-01-27 05:03:00) [4]пытаюсь найти в чужом коде логическую ошибку и пытаюсь просмотреть каждую операцию ..
Чем негативным грозит отключение Optimization
Джо (2006-01-27 04:58:00) [5]Если уж так захотелось, отключи "Optimization" в опциях компилятора, хотя это будет только "назло себе".
Джо (2006-01-27 04:57:00) [6]> почему при отладке цикл проходи именно так!!!
Переменная цикла нигде в нем не используется, поэтому оптимизатор волен создавать тот код, который он посчитает нужным.