Текущий архив: 2006.02.12;
Скачать: CL | DM;
Внизчто за глюк ! pt.2 Найти похожие ветки
← →
Лом (2006-01-27 04:54) [0]
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 04:57) [1]> почему при отладке цикл проходи именно так!!!
Переменная цикла нигде в нем не используется, поэтому оптимизатор волен создавать тот код, который он посчитает нужным.
← →
Джо © (2006-01-27 04:58) [2]Если уж так захотелось, отключи "Optimization" в опциях компилятора, хотя это будет только "назло себе".
← →
лом (2006-01-27 05:03) [3]пытаюсь найти в чужом коде логическую ошибку и пытаюсь просмотреть каждую операцию ..
Чем негативным грозит отключение Optimization
← →
Джо © (2006-01-27 05:09) [4]> [3] лом (27.01.06 05:03)
> Чем негативным грозит отключение Optimization
Тем, что генерируемый код будет неоптимизированным с точки зрения скорости выполнения (преимущественно).
В приведенном тобой коде от значения переменнойi
абсолютно ничего не зависит, имеет значение только кол-во итераций, поэтому оптимизатор и сгенерировал тот код, который ему показался более производительным. Или предпочтительным по каким-либо иным причинам.
← →
Джо © (2006-01-27 05:10) [5]П.С. Я не педант, но в форумах принято говорить "Спасибо" за оказанную помощь. Тем более, что тебе были даны ответы в двух ветках.
← →
лом (2006-01-27 05:17) [6]Спасибо
Страницы: 1 вся ветка
Текущий архив: 2006.02.12;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.06 c