![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.09.2008
Сообщений: 24
|
![]()
Всем добрый день. Столкнулся со следующей проблемой. Если добавить переменную i в WatchList (Ctrl+F5), то в этом WatchList'е в первом случае (коде) она будет изменяться в следующей последовательности 0,1,2,3,4,5,6. Вроде бы всё ОК. Но во втором коде переменная i будет изменяться так: 6,5,4,3,2,1 - фигня какая то! У меня цикл идёт на увеличение, а переменная уменьшается
![]() Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 13.09.2008
Сообщений: 24
|
![]()
Нашёл. Оказывается что бы счётчик в циклах
Код:
Код:
Код:
http://www.cyberforum.ru/delphi-begi...ead169152.html |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
{$O-}
отключение оптимизатоа кода. Компьютеру удобнее если цикл выполняется сверху вниз (9,8,7,6,...,0). Поэтому если внутреннему коду без разницы в каком порядке выполнять (второй пример не зависит от i) то он меняет порядок на более оптимальный (по его мнению).
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 19.02.2011 в 11:51. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
не по ее мнению. а она также оптимизирует тело цикла. на ассемблере это все видно. если надо то часа через два могу показать пример.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
![]()
Не компьютеру удобно, а удобно ассемблировать в команду LOOP ассемблера
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
![]() |
![]() |
![]() |
#6 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Более того, если вы напишите
Код:
Код:
P.S.: Хотя нюансы конечно же есть. Вот, немного подкорректировал, и картина уже несколько изменилась: Код:
Последний раз редактировалось Sibedir; 26.02.2011 в 10:01. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Somebody, точно так оптимизатор Delphi и делает:
![]() Последний раз редактировалось Serge_Bliznykov; 26.02.2011 в 15:15. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Счетчик. | Bilargo | JavaScript, Ajax | 2 | 15.08.2010 13:54 |
Создание программы в системном отладчике Debug | McDoC | Помощь студентам | 2 | 06.05.2010 13:40 |
Переход от цикла к циклу не выходя из цикла (без multithreading) | Qousio | Общие вопросы C/C++ | 2 | 16.05.2009 09:27 |
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat | McMilin | Помощь студентам | 7 | 11.11.2007 14:10 |