Как на AMD64/IA32 возвращаются большие структуры?
скорее всего если влазит сует в %eax или в пару %eax:%edx
ну и в 64битные аналоги соотвественно.
64 байта точно не войдут ни в один регистр, ни даже во все на IA32.
gcc -S как бы намекает, что он кладёт всю эту махину на стек перед аргументами. После возврата %eax содержит адрес начала структуры.
Оставить комментарий
agaaaa
Есть функция, которая возвращает структуру, например, размером 64 байта.Каким образом в стандартных соглашениях о вызове функций она возвращается и как это делают на практике?