Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Забытые секреты кодинга

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Обсуждение статей] >> Забытые секреты кодинга
Имя
Сообщение << Старые топики   Новые топики >>
Забытые секреты кодинга - 2009-08-25 12:04:19.763333   
ArtAdmin

Сообщений: 11556
Оценки: 14
Присоединился: 2007-01-17 16:55:01.430000
Обсуждение статьи "Забытые секреты кодинга"
Post #: 1
Austerliz;&nbsp; e-mail: - 2009-08-25 12:04:20.463333   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Молодой человек, как вы html набирали?? что это за линк на картинку: file:///C:/gameland/sinx.jpg
обалдеть %))
а статья неплохая, тока картинок нет
Post #: 2
Austerliz;&nbsp; e-mail: - 2009-08-25 12:04:20.530000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
"Программу, которая рисует эти милые картинки, ты _найдешь_здесь" <– линк стоит на локальный файл!!! %\\\\\
Post #: 3
Алексей;&nbsp; e-mail: yaroshalexey@mail.ru - 2009-08-25 12:04:20.540000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Давай, продолжай, нужно напомнить программистам, как нужно писать программы!
Post #: 4
Soldier;&nbsp; e-mail: - 2009-08-25 12:04:20.580000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Нормально. Есть кое что интересное.
Post #: 5
Soonts;&nbsp; e-mail: kostik_i@yahoo.com - 2009-08-25 12:04:20.610000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Круто! Respect!

Вопрос к тебе:
BYTE x[256];

BYTE y=(BYTE)(rand());
BYTE z=x[y];
Последняя строка скомпилится ли в XLAT?
Post #: 6
name;&nbsp; e-mail: - 2009-08-25 12:04:20.620000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Keep up the good work!
Optimizing is what we should aim for!
Bravo!
Post #: 7
AndyCount;&nbsp; e-mail: counta@mail.ru - 2009-08-25 12:04:20.643333   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Статья мне понравилась. У меня вопрос: может есть быстрый код или алгоритм расчёта квадратного корня ?
Post #: 8
Петр Каньковски;&nbsp; e-mail: kankowski@narod.ru - 2009-08-25 12:04:20.660000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Всем привет!
Спасибо за отзывы, отвечаю на вопросы:

AndyCount > быстрый код или алгоритм расчёта квадратного корня
Если корень из вещественного числа, то он вычисляется одной
инструкцией FSQRT (см. любой справочник по ассемблеру).
А если речь идет о корне из целого числа, то обычно используют
алгоритмы, основанные на численном методе Ньютона для решения
уравнения x^2 = a, где a - число, из которого нужно извлечь корень.

Другой источник - книга Генри Уоррена "Алгоритмические трюки
для программистов" - М.: Вильямс, 2003. Найти можно в ближайшем
книжном магазине или в хорошей технической библиотеке.

Soonts> Вопрос к тебе: BYTE x[256]; … BYTE y=(BYTE)(rand());
Soonts> BYTE z=x[y]; Последняя строка скомпилится ли в XLAT?
Ответ должен зависеть от компилятора. Проверил на VC++ -
нет, пишет MOVSX - mov со знаковым расширением. Проверь
на своем любимом компиляторе. Почти у каждого компилятора
есть опция, которая выдает ассемблерный листинг программы
с комментариями в текстовый файл. Все вопросы типа
"будет ли компилятор оптимизировать то-то" решаются именно
таким способом - запусти и проверь.
Если компилятор не способен писать листингов, придется
дизассемблировать. Иногда бывает трудно обнаружить код
своих функций, так как большую часть exe-шника составляет
run-time-библиотека. В дизассемблере W32Dasm эта проблема
решается так: вставь в код что-то вроде printf("Blade Runner"),
а затем в дизассемблере найди строку "Blade Runner". Он пишет
в листинг "Possible reference to string: Blade Runner" там,
где вызывается printf. Как раз в этом месте и будет код твоей
функции.


Austerliz>как вы html набирали?? что это за линк на картинку
Во-первых, я HTML не набирал, присылал статью в Word´е, посему
оформление на совести редакторов сайта. Кстати, ляпсус
со спецсимволами, вместо которых отображаются вопросительные
знаки, постараюсь учесть в следующих статьях. Буду писать формулы
только ASCII-символами.
Во-вторых, линк в HTML коде правильный, но он относительный
(почитай код). Скорее всего, ты сохранил страницу на диск,
а теперь ругаешься, что архив недоступен. Так загрузи страницу
еще раз, проверь!

Всем спасибо за добрые слова. Продолжение статьи ждите после 8 марта.

Удачи!
Петр Каньковски.
Post #: 9
uno crezo;&nbsp; e-mail: - 2009-08-25 12:04:20.690000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
блин, а ведь если не жамкать дурным аспаком готовые проги, а компилять и жамкать при компиляции, да еще динамическая выборка подходящего машинного кода….
мир стал бы раем….
Post #: 10
MAtri][;&nbsp; e-mail: http://hacker-matrix.nm.ru/ - 2009-08-25 12:04:20.710000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Есть множество хитростей элементарных облехчающие код например замена действия умножения сложением :))
Post #: 11
Петр Каньковски;&nbsp; e-mail: kankowski@narod.ru - 2009-08-25 12:04:20.733333   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Привет всем! Есть несколько вариантов продолжения этой статьи: 1) CRC - алгоритмы для расчета, как проверять целостность своей программы, 2) алгоритмы сжатия, сжатие exe-файлов, 3) хитрые манипуляции со строками, трюки для ускорения обработки строк, 4) как работают базы данных - двоичный, интерполяционный поиск, хэширование, пример своей маленькой БД. Хакеры, скажите, что бы Вам хотелось прочитать?! Что скАжите, про то и напишу. Удачи! Петр.

Post #: 12
RE: Забытые секреты кодинга - 2009-08-25 12:04:20.740000   
Guest

Сообщений: 83368
Оценки: 51
Присоединился: None
Вообще-то все эти трюки живы, достаточно посмотреть, как мужики пишут быстрые проги под мега-консоли: http://blog.gamedeff.com/?p=235
Post #: 13
Страниц:  [1]
Все форумы >> [Обсуждение статей] >> Забытые секреты кодинга







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.