Я хочу знать, как работает передача аргументов функциям в C. Где хранятся значения и как они извлекаются? Как работает переменная передача аргументов? Кроме того, поскольку это связано: а как насчет возвращаемых значений?
У меня есть базовое представление о регистрах процессора и ассемблере, но недостаточно, чтобы полностью понять ASM, который GCC плюет мне в ответ. Было бы очень полезно несколько простых аннотированных примеров.