![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отключить оптимизацию кода в 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 галку нафиг