Забытые секреты кодинга
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Забытые секреты кодинга - 2009-08-25 12:04:19.763333
|
|
|
ArtAdmin
Сообщений: 11556
Оценки: 14
Присоединился: 2007-01-17 16:55:01.430000
|
Обсуждение статьи "Забытые секреты кодинга"
|
|
|
Austerliz; e-mail: - 2009-08-25 12:04:20.463333
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
Молодой человек, как вы html набирали?? что это за линк на картинку: file:///C:/gameland/sinx.jpg обалдеть %)) а статья неплохая, тока картинок нет
|
|
|
Austerliz; e-mail: - 2009-08-25 12:04:20.530000
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
"Программу, которая рисует эти милые картинки, ты _найдешь_здесь" <– линк стоит на локальный файл!!! %\\\\\
|
|
|
Алексей; e-mail: yaroshalexey@mail.ru - 2009-08-25 12:04:20.540000
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
Давай, продолжай, нужно напомнить программистам, как нужно писать программы!
|
|
|
Soldier; e-mail: - 2009-08-25 12:04:20.580000
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
Нормально. Есть кое что интересное.
|
|
|
Soonts; 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?
|
|
|
name; 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!
|
|
|
AndyCount; e-mail: counta@mail.ru - 2009-08-25 12:04:20.643333
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
Статья мне понравилась. У меня вопрос: может есть быстрый код или алгоритм расчёта квадратного корня ?
|
|
|
Петр Каньковски; 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 марта.
Удачи! Петр Каньковски.
|
|
|
uno crezo; e-mail: - 2009-08-25 12:04:20.690000
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
блин, а ведь если не жамкать дурным аспаком готовые проги, а компилять и жамкать при компиляции, да еще динамическая выборка подходящего машинного кода…. мир стал бы раем….
|
|
|
MAtri][; e-mail: http://hacker-matrix.nm.ru/ - 2009-08-25 12:04:20.710000
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
Есть множество хитростей элементарных облехчающие код например замена действия умножения сложением :))
|
|
|
Петр Каньковски; e-mail: kankowski@narod.ru - 2009-08-25 12:04:20.733333
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
Привет всем! Есть несколько вариантов продолжения этой статьи: 1) CRC - алгоритмы для расчета, как проверять целостность своей программы, 2) алгоритмы сжатия, сжатие exe-файлов, 3) хитрые манипуляции со строками, трюки для ускорения обработки строк, 4) как работают базы данных - двоичный, интерполяционный поиск, хэширование, пример своей маленькой БД. Хакеры, скажите, что бы Вам хотелось прочитать?! Что скАжите, про то и напишу. Удачи! Петр.
|
|
|
RE: Забытые секреты кодинга - 2009-08-25 12:04:20.740000
|
|
|
Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
Вообще-то все эти трюки живы, достаточно посмотреть, как мужики пишут быстрые проги под мега-консоли: http://blog.gamedeff.com/?p=235
|
|
|
|
|