6.7.1. Выравнивание параметров

На верх  Назад  Вперёд

Каждый параметр, передаваемый в процедуру, гарантированно уменьшает указатель стека на определённое минимальное число. Это поведение может меняться в зависимости от операционной системы. Например, передача байта как параметра по значению в процедуру, может уменьшить указатель стека на 1, 2, 4 или даже 8 байт, в зависимости от целевой операционной системы и процессора.

Например, на FreeBSD все параметры передаются в процедуру с минимальным уменьшением стека в 4 байта на параметр, даже если в реальности для записи параметра в стек требуется менее 4 байтов (например, при помещении в стек параметра размером 1 байт).