|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.09.2016, 21:41 | #11 | |
Пользователь
Регистрация: 13.08.2008
Сообщений: 76
|
Цитата:
Прежде чем начинать замену фрагментов кода на ассемблерные вставки, обычно проверяю отсутствия утечек памяти в программе иначе вообще концов не найдешь. А загажено было сторонним приложением. |
|
21.09.2016, 21:45 | #12 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Поделись, какого эффекта добился точечными asm-вставками. Скажем работало минуту, стало секунду. Или вместо пары секунд стало три секунды. Или там все измеряется сотней микросекунд на час работы?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
22.09.2016, 02:47 | #13 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,859
|
Цитата:
Ну по крайней мере три с минусом. Ни черта ты не понял ни о сути сообщения об Access Violation, ни о причинах выдачи сего сообщения, ни об ошибке в твоей программе. |
|
22.09.2016, 10:39 | #14 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
Вроде бы у TC я такого не видел? Хотя, конечно, неверная работа кода на ассемблере из-за перегруженной памяти - это что-то неизведанное (для меня ) |
|
22.09.2016, 10:43 | #15 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
одна из прошлых тем
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.09.2016, 11:07 | #16 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
|
22.09.2016, 14:52 | #17 |
Пользователь
Регистрация: 13.08.2008
Сообщений: 76
|
|
22.09.2016, 14:58 | #18 |
Пользователь
Регистрация: 13.08.2008
Сообщений: 76
|
Восстановим сюжетную линию:
1. При хорошо забитой памяти - Delphi (32 битный) бултыхался в адресах свыше 7 ГБ и компилятор генерил чушь. 2. После перезагрузке - Delphi (32 битный) был загружен в адреса 32-битного пространства и уже компилировал то, что от него требовалось правильно. |
22.09.2016, 15:05 | #19 | |
Пользователь
Регистрация: 13.08.2008
Сообщений: 76
|
Цитата:
Поэтому процедуры, которые вызываются в циклах десятки или сотни тысячи раз, можно попробовать заменить вставками. Особенно когда битовые операции. Бывают и обломы - ассемблерный аналог ничуть не быстрее оригинала, пусть и короче в коде, а время на написание потрачено. С одной стороны это кажется чушью - добиваешься быстроты кода, а время работы VCL-компонентов (например вывод в memo) все это множит на ноль, но... Остается код на asm, который прекрасно может пригодиться в консольной версии, например. Последний раз редактировалось Turbine; 22.09.2016 в 15:20. |
|
23.09.2016, 08:46 | #20 | ||
Форумчанин
Регистрация: 03.02.2010
Сообщений: 178
|
Цитата:
Если я все правильно понимаю, изначальная задача звучит как: Цитата:
Код:
Код:
|
||
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод графики встроенный ассемблер Free Pascal | иванлеон | Помощь студентам | 0 | 26.04.2012 14:00 |
Делфи 7 - Встроенный ассемблер | Katus | Помощь студентам | 2 | 05.02.2012 00:19 |
скрол браузера сдвигает контент | Anait | HTML и CSS | 0 | 06.05.2010 12:12 |
Ковертирование из png 24 бит в png 8 бит | isat | Общие вопросы .NET | 0 | 22.03.2010 13:38 |