Ну скажем, если массив? Если строка? Если структура?Хакер писал(а): в зависимости от типа возвращаемого значения
То есть, адрес можем получить как VarPtr(last) - 4, где last- последний аргумент? А для какого это типа?Хакер писал(а):как если бы это был последний ByRef-параметр
n=myFun(myPar)
doNextThing
arthur2 писал(а):Ну скажем, если массив?
arthur2 писал(а):Если в doNextThingя обращусь по адресу, по которому функция myFunвернула значение, там будут ещё действительные данные, или уже свободные?
arthur2 писал(а):Если в doNextThingя обращусь по адресу, по которому функция myFunвернула значение
arthur2 писал(а):Интуиция подсказывает мне, что в процедуре под каждую вызываемую функцию выделяется локальная безымянная переменная, которая уничтожится вместе с другими локальными переменными только после выхода из процедуры. Это так? или как именно?
А сами данные строки или массива - в какой момент они освобождаются? Что их освобождает и каким образом?Если массив — регистре EAX возвращается указатель на SA-дескриптор.
Если строка — в регистре EAX возвращается указатель на начало строки.
arthur2 писал(а):Интуиция подсказывает мне, что в процедуре под каждую вызываемую функцию выделяется локальная безымянная переменная, которая уничтожится вместе с другими локальными переменными только после выхода из процедуры. Это так? или как именно?
Хакер писал(а):Вообще, какой смысл во всём этом? Совершенно точно ты пытаешься сделать что-то неким образом, которые однозначно неправильный и даже ни секунды не должен рассматривать и обдумываться как приемлемый.
в регистровой паре EDX:EAX? 64 битные переменные типа Currency или Date?Хакер писал(а):Модульная функция возвращает результат в регистре EAX, или в паре EDX:EAX
Сейчас этот форум просматривают: Google-бот и гости: 48