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

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

. 1 . 2 . 3 . >>

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


Дата: Апр 17, 2004 22:01:22 · Поправил: Безпощадный даос

Вместе с книгой "ТЕХНИКА ОПТИМИЗАЦИЯ ПРОГРАММ. Эффективное использование памяти." поставляется и диск, на котором собраны все исходные тексты программ + все рисунки из книге в цветном виде.

Если кому то удалось откомпилировать хоть одну программу подскажите пожалуйста в чем тонкость?


Дата: Апр 19, 2004 17:16:29 · Поправил: Безпощадный даос

Вот например! Есть на диске файл mem.mix.c
Я его открываю в Visual C++ 6.0.
В папку include (в Visuale C++ 6.0) копирую файлы
DoCPU.cmd.h
DoCPU.h
CPU.ini
PC.ini

И Visual C++ 6.0 ВЫДАЕТ МНЕ 4 ОШИБКИ линковки.
Делаю то же самое и в Buildere 6.0. Тоже ошибки. Подскажите пожалуйста верный путь для компилирования данных программ.


Дата: Апр 19, 2004 23:18:22 · Поправил: Безпощадный даос

Компилются только проги не подключающие DoCPU.h.
Там есть файл DoCPU.asm из которого в DoCPU.h импортируются функции.
Да вот только из DoCPU.asm obj файл не получить, там импользуются файлы CODE.INC и code.ini, у меня на диске их нет.


Дата: Апр 20, 2004 21:11:02

Andrei
Я бы просто так не стал шум поднимать! Идея родилась по шагам посмотреть код и четко определиться с понятиями. Если в книге используется слово Эффективность, Качество, Оценка то на это нужно давать соответствующее определение, а вот из определения следует что Это набор критериев и формул не на одну страницу. Вот так и родилась идея проверить Криса Касперского как он высчитывал и делал оценки ПО КАКИМ ПОКАЗАТЕЛЯМ и т.д. Но я разочаровался уже до того как заглянул в исходный код программ. Они даже не компилятся. Как будто кто то специально 1) не приводит не одной формулы в книге связанной с эффективностью... даже определения нет :-). А тогда о чем вся книга??? Конечно книга написана в ХАККЕРСКОМ стиле. Только как могли редакторы выпустить такую не научную книгу на прилавки магазинов??? наверное по знакомству... ну или еще как... Многочисленные письма Крису по этому поводу не дали никакого результата и наоборот он все запутывал и т.д. Конечно может я и не прав, но я пишу то что сейчас вырисовывается на моих глазах.


Дата: Апр 21, 2004 01:45:59 · Поправил: Andrei

emergenter
1) не приводит не одной формулы в книге связанной с эффективностью... даже определения нет :-).
Согласен, математики там нет.
IMHO, книга не расчитана на профессионалов, а предназначена для новичков.

Только как могли редакторы выпустить такую не научную книгу на прилавки магазинов???
Не скажу, что в большом восторге от книги, но все таки польза в ней есть.


Дата: Апр 27, 2004 10:04:27

Итак:
1) Книга называется ЭФФЕКТИВНОСТЬ .... и т.д. - ни одной формулы о эффективности даже определния нет.
2) Нет научной обоснованности
3) Не ясно по каким формулам идет расчет времени на графиках (на некоторых вообще в процентах указано)
4) программы не компилируются (нельзя посмотреть что и как высчитывается)
5) Нет строгих научных определений таких как СКОРОСТЬ РАБОТЫ ПРОГРАММЫ, КАЧЕСТВО, ЛАТЕНТНОСТЬ, ПРОПУСКНАЯ СПОСОБНОСТЬ и т.д. (все расплывчато)
6) Много разговорного сленга что не допустимо в книгах
и т.д.
Прошу прокоментировать...


Дата: Апр 27, 2004 23:23:56

Вот например КОНКРЕТНО ПО КОМПИЛЯЦИИ:
1) Файл Unroll.read.c
2) Visual 6.0: Копирую в папку Include файлы:
a)DoCPU.cmd.h
б)DoCPU.h
в)CPU.ini
д)PC.ini
Открываю в Visual 6.0 этот файл и нажимаю build!!!
Выдает:
--------------------Configuration: unroll.read - Win32 Debug--------------------
Compiling...
unroll.read.c
e:\program files\microsoft visual studio\vc98\include\docpu.h(465) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
e:\program files\microsoft visual studio\vc98\include\docpu.h(593) : warning C4101: 'p' : unreferenced local variable
e:\program files\microsoft visual studio\vc98\include\docpu.h(689) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
e:\program files\microsoft visual studio\vc98\include\docpu.h(611) : warning C4700: local variable '__argv' used without having been initialized
Linking...
unroll.read.obj : error LNK2001: unresolved external symbol _A2
unroll.read.obj : error LNK2001: unresolved external symbol _A1
unroll.read.obj : error LNK2001: unresolved external symbol _DoCPU
Debug/unroll.read.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.

unroll.read.exe - 4 error(s), 4 warning(s)


Дата: Апр 28, 2004 08:05:44

emergenter
Ну дык Andrei
же обрисовал суть ошибки! Нужен obj из асмовского файла, а для него не хватает пары файлов. Раз нет пары файлов - нет и обжа, нет обжа - нет и линковки.
Непосредственно в твоем примере сишка не может обнаружить функции A2, A1 и DoCPU, которые, вероятно, описаны в DoCPU.asm. Вот и вся тонкость. :)


Дата: Апр 28, 2004 12:08:06 · Поправил: emergenter

n0p
т.е. нужно сделать из DoCPU.asm obj файл и кинуть его в каталог с прогой?


Дата: Апр 28, 2004 14:23:07

Подскажите пожалуйста почему на графиках время в процентах? Это как так хитро было получено?


Дата: Апр 28, 2004 18:44:19

Так а где брать эти файлы для компиляции DoCPU.asm:
code.ini
code.ink


Дата: Апр 29, 2004 21:22:46

emergenter
А вот это, похоже, останется страшной тайной, которую каспер унесет с собой в могилу...

А что касается обжа, если тебе удастся его получить.. Поместить в папку это пол дела. Надо еще прилинковать его к проекту. К сожалению, я никогда не делал этого на сях, так что не знаю как это сделать. Но в общих чертах: надо в строке линковки указать этот обж.


Дата: Апр 29, 2004 21:27:34

А если время в процентах, значит где-то указан эталон времени, т.е. интервал времени, который будет считаться за 100%.


Дата: Май 6, 2004 13:01:34

n0p
почему Каспер в могилу??? его что убили?


Дата: Май 7, 2004 00:55:57

Там же batы для компиляции. У build из VC могут быть другие опции. По поводу include - попробуй закоментировать может - они для того что в файле не нужны, так что он оттранслируется, может также и для других прог с которыми линковать это тоже ненужно.

. 1 . 2 . 3 . >>


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