· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.BOOKS —› Техника оптимизации программ Касперски

<< . 1 . 2 . 3 . >>

Посл.отвђт Сообщенiе


Дата: Май 7, 2004 01:11:34

The Svin
Как с тобобой связаться есть вопросы по книге!!!


Дата: Май 18, 2004 03:31:00

> Если кому то удалось откомпилировать хоть одну
> программу подскажите пожалуйста в чем тонкость?
все программы нормально компиляться,
если находят инклуды.
для линковки должен быть ассемблированный DoCPU.asm
требуемый CODE.ini формируется бантиком. так что все
работает, если следовать инструкциям и думать головой.


Дата: Май 18, 2004 03:48:26

> Идея родилась по шагам посмотреть код и четко
> определиться с понятиями.
за понятиями - это к Пелевину ;) я тут бессилен.

> Если в книге используется слово Эффективность,
> Качество, Оценка то на это нужно давать соответствующее
> определение, а вот из определения
в этом мире все относительно...

> следует что Это набор критериев и формул не на одну
страницу.
и кто эти формулы будет читать?
что же до критериев - каждый их выбирает сам.
я лишь показал как устроено железо и как подстроиться под него.

> Вот так и родилась идея проверитьКриса Касперског
> как он высчитывал и делал оценки ПО КАКИМ ПОКАЗАТЕЛЯМ
показатели там расписаны. как правило это время
прогона тестовых примеров.

> Но я разочаровался уже до того как заглянул в
> исходный код программ. Они даже не компилятся.
совет - прежде, чем браться за оптимизацию нужно
нучиться хотя бы основам программрования.
_алгоритмы_ там расписаны. забацать собственный
тестовой пример - минутное дело (только не забыть
циклы развернуть, а вот многие забывали и потом
приходили с претензиями, что вот мол нифига
не оптимизируется).

> Как будто кто то специально 1) не приводит не одной
> формулы в книге связанной с эффективностью... даже
Какие нахрен формулы?! там показано _устройство_
девайсов, исходя из специфики которого и следует
планировать последовательность запросов...
вам что, нужен обсчет сферического коня в ваккуме?
не получится! железо в абстрактные концепции оно
плохо вписывается...

> А тогда о чем вся книга???
о железе. которое гудит, греется и перемолачивает то,
что программист понапишет.

> Конечно книга написана в ХАККЕРСКОМ стиле.
это не хакерский стиль ни в каком его понимании...

> Только как могли редакторы выпустить такую не научную
> книгу на прилавки магазинов???
а что, не научные книги уже запрещены? ;)

> наверное по знакомству...
не иначе ;)

> ну или еще как...
нет, это я типа за свой счет ее издал ;))

> Многочисленные письма Крису по этому поводу не дали
> никакого результата и наоборот он все запутывал и т.д.
кхм... что-то я вас не помню...
на отсуствие code.ini уж точно никто не жаловался ;))

> Конечно может я и не прав, но я пишу то что сейчас
> вырисовывается на моих глазах.
я сам не в восторге от своей книги,
там много ошибок и вообще, но предложенные алгоритмы
в целом верны - это факт. проверено электроникой ;)


Дата: Май 18, 2004 18:41:04

Я нормально отношусь к твоим книгам Мыщъ, но
в данном случае ты неправ. Человек уже заплотил деньги
а ты его отшиваешь, да ещё наезды делаешь


Читаем в install:

Найдите в файлах clock.make.bat и clock.clear.bat строку
"SET %CLOCKSDK%" и скорректируйте путь к пакету "CLOCK SDK",

Ищем в строку в clock.make.bat - нет такой строки.
Сам автор незнает оказывается в каком файле что находится.

Далее, давненько я бачи не писал, однако маленький опыт у меня был,
и меня смутил синтаксис "SET %CLOCKSDK%".
Я подумал наверно ты имел ввиду "SET CLOCKSDK=" т.е. без процентов.
Обращу внимание, что у многих твоих читателей (а ты в последних книгах
специально подчёркиваешь, что это прежде всего начинающие) может
не быть такого опыта, сейчас люди вообще начинают программировать
даже за деньги с Win32 и многие без понятия о командных файлах.
Чего ты хочешь от них, это твоя работа за которую
читатель денежку заплатил, чтобы ты ему изложил точно что править
в твоём собственном баче, который ты почему то не мог написать так,
чтобы его не надо было править ради инстоляции да к тому же как его
править не смог нормально объяснить.

Ладно пошли дальше.
Действительно строки "SET %CLOCKSDK%" не оказалось как я и предпологал,
а оказалась строка SET CLOCKSDK=.

В другом ничего нет. В самом твоём файле стоит как пример
F:\.optimize\bin\clock. У меня сразу возникают сомнения -
а к чему путь то должен быть? Имя папки CPU.CLOCK.SDK или к внутренней папке?
Совершенно неоднозначно описано в intstall.

Что такое подготовить MASM 6.13 - тоже непонятно.
Только практически исследуя bat я понимаю что он должен быть в PATH,
поскольку в PATH у меня другой ml и я его не собираюсь менять,
то и тут мне нужно прописывать путь к 6.13.

Ладно, с грехом пополам всё исправлено и указано.
Хочется проверить будет ли работать.
Захожу в example запускаю bat. Вижу что нифига ничего не получилось.
Не найден файл.
Открываю bat вижу call clock.make.bat demo.GRAPH.c
Понимаю что она не нашла clock.make.bat который вовсе в другой директории.

Ага ты видимо решил что clock.make.bat мы должны догадать тоже положить
в PATH. Если ты делаешь пример для компиляции и сам формируешь папку
со своим SDK - т.е. знаешь где что лежит - то не судьба самому было
написать call ..\clock.make.bat ?

Устранил и это. Пошёл процесс! И оборвался :)))
Сообщение:
Ошибки смотрите там то. Что же за ошибки такие?
Ассемблер ругается на invalid char... в сгенерированном твоим
гениальном баче inc файле.
Открываю inc и у меня истерика - в inc записано
"Режим вывода команд на экран (ECHO) отключен." :))))

Ты что надеешься что начинающий современный программист
будет разбирать идиотизмы в твоих бачах что ли?
Ладно, я приблизительно причину понимаю - догадываюсь
что ты с помощью ECHO переадрессовкой ввода решил записать
что то пустое в inc. Причём командный процессор тебя не понял
и решил что ты просто команду ECHO без параметров ввёл.

Дайствительно нахожу эту гениальную строчку
ECHO ; > %CLOCKSDK%\TEMP\code.inc
Вот она и генерирует
Режим вывода команд на экран (ECHO) отключен.
в NT и это в результате пишется перенаправление ввода в файл inc.
Заменяю на просто создание пустого файла
IF NOT EXIST %~n1.mod @ECHO OFF > %CLOCKSDK%\TEMP\code.inc

После этого нормально компилируется asm.
Но опять ошибка:
[0/3] Файлы проекта demo.GRAPH.c;DoCPU.asm;DoCPU.h.
[1/3] Ассемблируем DoCPU.asm
[2/3] Компилируем проект "demo.GRAPH" by MSVC_NAME
[3/3] Удаляем временные файлы
-ERR: Ошибка компиляции. См. demo.GRAPH.err
Смотрим это .err:

D:\CPU.CLOCK.SDK\INCLUDE\DoCPU.h(611) : warning C4700: local variable '__argv' used without having been initialized
D:\CPU.CLOCK.SDK\INCLUDE\DoCPU.h(611) : error C2220: warning treated as error - no object file generated

На этом месте я решил, что с меня хватит.
Можно конечно разобраться в конце концов.
Но то что ты наваял сборкой и настройкой в полпинка я бы не назвал.

Ладно, удачи, я в этих сях не специалист, просто парня стало
жалко.

Автору топика. Кое что что может чуть облегчить тебе труд
(делаю бесплатно работу за автора)
- В приложении 1 (последняя страница книги Крыса) сказана пара слов
про установку этого пакета.
Можно как начальные сделать такие шаги.
1. Скопируй всю CPU.CLOCK.SDK на жёсткий диск.
2. Сними атрибуты read only (типа из командной строки из главной папки
attrib /s * -r
3. Найди в главной директории пакета в бач файлах SET CLOCKSDK= и после = поставь
путь к этому каталогу.
4. Найди ml в этих файлах и поставь перед ним путь к своему ml если он
у тебя не в PATH.
5. Найди в бач файлах "ECHO ; >" и замени например на "@ECHO OFF >"
6. Компилируй с помощью бачей, если захочешь использовать компиляцию примеров
из папки examples то в demo.GRAPH.make.bat замени
call clock.make.bat demo.GRAPH.c
на call ..\clock.make.bat demo.GRAPH.c
И в других так же.
Дальше сам разбирайся.


Дата: Май 18, 2004 19:58:30

все! ухожу в монастырь посыпать голову пеплом и исправлять ошибки


Дата: Май 19, 2004 06:57:53

приношу emergenter'у свои извинения. я был не прав и сейчас, согнув хвост интегралом,
стеснительно выписываю им вращательные круги потупив нос в землю...


Дата: Май 21, 2004 18:04:53

kaspersky

Крис, прощу прощения за скорее всего неуместный вопрос, но, очень хочеться знать, что вы заканчивали ?(в плане учебного заведения). Большое спасибо за ответ или неответ.


Дата: Май 21, 2004 20:41:19

CARDINAL
Ответ на этот вопрос можно найти в журнале Ксакеп, #042, стр 034-1, или спросить у google :-)


Дата: Май 22, 2004 00:51:08 · Поправил: kaspersky

зачем же беспокоить Дона Гугла ;)
тем более, что ничего я не заканчивал,
так и остался нихрена не знающим самоучкой.
сейчас вот книгу о линковке пишу. еще недавно
я счатал, что достаточно четко и полно знаю
суть линковки и задачи возложенные и решаемые
линкерами. теперь же выяснилось, что я нихрена
вообще не знаю... который раз ощущаю себя макакой
спустившейся с дерева... да... мне еще учиться и
учиться ;)


Дата: Май 22, 2004 00:56:56

сейчас вот книгу о линковке пишу

А Linkers and Loaders ты читал?


Дата: Май 22, 2004 04:33:31

знамо дело, что читал, но несколько писем от Харона
показали ущербленность моих знаний больше, чем все
Linker's и Loader'ы вместе взятые...


Дата: Май 22, 2004 05:40:07

Юра конечно человек знающий :)
Помню по беседам в Фидо.


Дата: Май 22, 2004 06:12:01

"знающий" не совсем подходящее слово.
"могучий" будет уместнее ;)
а ulink действительно вещъх! очень хорошо подходит для создания извращенных PE. только вот невыровненные файлы создавать не позволяет. ну, те, у которых File Alignemnt == Section Alignment == 2 или выше. очень хорошо подходит для создания крохотых PE-файлов, а то отдавать на File Alignment 200h байт - жалко ;(
правда, 9x такие файлы не запускает, но... она все равно анахроизм. а ms link невыровненные файлы создает только так!


Дата: Май 22, 2004 06:28:56

И с LINK можно делать такое выравнивание.


Дата: Май 22, 2004 10:25:32

вот я и говорю: ms link - может, а ulink - нет

<< . 1 . 2 . 3 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.111