Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отключить оптимизацию кода в Delphi [D6, Win95/98, Win2k]


Ascan ©   (2002-05-28 18:40:00) 

Delphi перенял из Pascal"я дурную привычку: если описывается переменная, затем ей что-то присваивается, а далее она не используется, то Delphi выдает предупреждение об этом (это еще ладно) и выбрасывает все упоменания об этой переменной из конечного кода (.exe) !!! Это очень не удобно, особенно при отладке приложения. Как с этим бороться - я не знаю. :-(
Помогите.


{$O-}   (2002-05-29 14:44:00) [1]

{$O-}


NailS   (2002-05-29 13:59:00) [2]

Ascan © (29.05.02 13:34)
Странные вещи говоришь, работает эта галка, только надо не Compile делать, а Build


Ascan   (2002-05-29 13:34:00) [3]

Отвечаю на последние вопросы, если трудно представить, что полету мысли нет предела: Если в алгоритме программы присутствует ошибка, то простая проверка - завести переменную и закидывать туда значения; либо пишешь новый алгоритм - пишешь и проверяешь, а что у нас тут у нас получается перед тем как писать дальше... Или компилятору невдомек, что я обращаюсь к этой переменной в друдом месте хитрым, не понятным для нее, путем.
Чувствую я что скоро перекинут мой вопрос в раздел "Потрепаться". :-)


lipskiy   (2002-05-29 01:42:00) [4]

Действительно, зачем бороться... Ведь если переменная не используется, то непонятно, зачем выполнять с ней операции, результаты которых никому не будут нужны. Правильно компилятор и делает, даже и в голову не приходит, зачем может понадобиться иначе...


Vaddya   (2002-05-28 22:43:00) [5]

Да в принципе зачем с этим бороться, если переменная не используется. Тебе она нужна, ты оставляешь ее в коде программы, компилятору не нужна - он выбрасывает. Ты начинаешь ее использовать - компиллер тут же ее вставит. Вот и все.


ION T   (2002-05-28 20:13:00) [6]

Угу, а ещё эту привычку переняли все оптимизирующие компиляторы и даже некоторые ассемблеры....так что, все их создатели - полные идиоты и тупицы?


MrAngel   (2002-05-28 20:01:00) [7]

Да верно есть тагая лажа...
Я делаю так...
Если у меня есть переменная кот...ну короче как у тебя, то я ещё просто добавляю ненужный код . Компилятор типа видит что эта переменная используется и выполняет его...
Выще ето тормознутая система... наверняка есть какие нибудь ключи для компилятора кот отключает выброс не используемых переменных.
Ключи это нечто типа этого {$I+} - включение проверок ошибок ввода вывода. Короче они именно вот так выглядят.


Ascan   (2002-05-28 19:58:00) [8]

Andrey, понимаешь, я отвечаю перед собой за свой стиль написания, и если я что-то лишнее написал, то мне так надо. И пусть компилятор не думает, что он умнее меня - ему это не грозит. :-)


Andrey   (2002-05-28 19:51:00) [9]

>Ascan
А если не секрет зачем вам больший (.exe) чем требуется для работы програмы?


Ascan   (2002-05-28 19:09:00) [10]

Неа, не работает и все равно выбрасывает из программы целые блоки операторов, написанные мной. По F7 это видно, он их просто перескакиавет. :-(


Ascan   (2002-05-28 19:04:00) [11]

Проверю... но спасибо.


NailS   (2002-05-28 18:44:00) [12]

Имя ветки и содержит ответ на твой вопрос.
Project Options -> закладка Compiler -> Code Generation-> Optimization галку нафиг


Наверх

Титульная страница Поиск, карта сайта Написать письмо