Вверх ↑
Ответов: 2125
Рейтинг: 159
#1: 2007-05-21 14:51:38 ЛС | профиль | цитата
iarspider писал(а):
А вот фиг - не eax, а ecx

Это тебе - фиг! ecx я тут использовал как временный регистр, а то, что третий параметр в Дельфях как раз в ecx передаётся, делает разработку макроса с тремя параметрами сложной и не такой элегантной, как первые два (вызов из С++ с использованием макроса абсолютно не отличался от Дельфишного, несмотря на применение промежуточной процедуры, которая, к счастью полностью подставилась inline). Self действительно передаётся первым параметром, а это eax, после чего в начале метода в стеке сохраняется ebx, а в него уже засылается eax. Таким образом Self обычно находится в регистре ebx.
карма: 1

0