ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #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. для более удобново вызова можно попробовать переопределить операторы...
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
10 tips & tricks for C/C++ windows programming with Visual C++ 6.0 Dracula4ever Forum for discussion of ANTICHAT 0 30.05.2006 17:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ