Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2007-05-21 11:39:51 ЛС | профиль | цитата
Вячеслав писал(а):

Dilma писал что при работе со строками ХиАсм проигрывает С++ в 1000 раз.


Прошу не перевирать. ХиАсм ничего не проигрывает С++. Скорее наоборот - без определенных знаний в особенностях работы со строками в Delphi и C++ зачастую последний проигрывает и очень основательно(повторюсь: проигрывает при написание программы без знаний особенности работы всех strXXX).

Galkov писал(а):
Без этого же невозможно понимание происходящего

Поддерживаю Asm этоже основы мироздания....

iarspider писал(а):
А вот что выдал дизассемблер

ну и что там не понятного?
В первую ф-цию аргументы пошли в регистрах eax и edx. Результат работы ф-ции Delphi традиционно вернул в регистре eax(поэтому передача первого аргумента в коде явно не прописана), далее подгрузил адреса переменных X и Y в регистры ecx и edx и весь получившийся триплет отправился в ф-цию elGetPos.

Galkov писал(а):
И правда - все интерфейсные ф-ии не имеют ругательств типа stdcall, или cdecl

Действительно Поскольку CodeGen старый уже не будет совместим с новой версией среды, то и это поправим на cdecl.

Вывод после прочтения поста: нужно уметь грамотно описать поставленную задачу, а не начинать с хвоста. Реализация собственного механизма в обход существующего - это бомба замедленного действия, которая взорвется с вероятностью 99.9%. Вспомним недавний диспут по парсингу SHA на предмет наличия Дебугов после элементов на схеме... Кроме того делать работу, которую за тебе уже сделала среда это откат назад(элементы LineBreak, HubEx и прочие уже не видны на этапе кодогенерации, ссылочные контейнеры-мультики без особой их обработки "видны" через интерфейс кодогенератора так, словно они ссылками не являются вовсе и позволяют делать правильную программу, и еще кучу примеров можно привести...)

PS: да и еще - хотелось бы поподробнее услышать по поводу алгоритма вычисления изменений в контейнере(контрольную сумму чего? ) и перегенерации *.h и *.cpp.
карма: 27
0