Показать сообщение отдельно

  #13  
Старый 21.10.2007, 23:07
gevara
Познающий
Регистрация: 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. для более удобново вызова можно попробовать переопределить операторы...
 
Ответить с цитированием