rezident (31.08.2012 14:01, просмотров: 156) ответил SciFi на У вас не работает поиск по тексту стандарта?
Уже нашел. Раздел 6.9.1 Function definitions пункт 3. http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf
Когда текст исходника Си компилируется в АСМ, то перед call foo вставляется пролог, который готовит аргументы для вызова foo. А после вызова есть еще и эпилог, который обрабатывает возвращаемое foo значение. Так вот в эпилоге я вижу, что вызывается ассемблерная функция ?CopyMemoryBytesXX, которая заполняет структуру которой собственно и приcваивается значение, возвращаемое функцией foo.
Тип
typedef struct
{ char list;
int stem;
long root;
} xren_t;
Декларация/прототип
xren_t xren1;
xren_t foo (int xer);
Вызов
xren1 = foo (1);