
21.10.2007, 23:07
|
|
Познающий
Регистрация: 30.11.2006
Сообщений: 49
Провел на форуме: 36434
Репутация:
28
|
|
Возникла у меня такая идейка. Функции в Си могут возвращать значение в регистрах eax, edx. Иными словами можно заставить функцию возвратить 2 значения вместо того, чтобы не передавать лишний укказатель указатель. Может быть это не совсем корректно, зато иногда бывает удобно.
насколько я разобрался - здесь можно поступить двумя способами:
LARGE_INTEGER function xx()
{
}
void main()
{
LARGE_INTEGER a;
a = xx();
a.HigthPart ..
a.LowPart
}
или непосредственно к регистрам
void main()
{
int a,b;
xx();
__asm{mov b,edx}
__asm{mov a,eax}
}
P.S. для более удобново вызова можно попробовать переопределить операторы...
|
|
|