История изменений
Исправление MOPKOBKA, (текущая версия) :
Было
char buff[10];
some_func(1, buff, 2);
Станет
char buff[10];
void *pStart = &buff[0]; // это делает компилятор сам
void *pEnd = &buff[10];
some_func(1, buff, pStart, pEnd, 2);
pStart, pEnd передаются не через обычный стек, а через отдельный, что бы не ломать ABI.
Исправление MOPKOBKA, :
Было
char buff[10];
some_func(1, buff, 2);
Станет
char buff[10];
void *pStart = &buff[0]; // это делает компилятор сам
void *pEnd = &buff[10];
some_func(1, buff, pStart, pEnd, 2);
Исправление MOPKOBKA, :
Было
char buff[10];
some_func(1, buff, 2);
Станет
char buff[10];
void *pStart = &buff[0]; // этого в коде не будет
void *pEnd = &buff[10];
some_func(1, buff, pStart, pEnd, 2);
Исходная версия MOPKOBKA, :
Было
char buff[10];
some_func(buff);
Станет
char buff[10];
void *pStart = &buff[0];
void *pEnd = &buff[10];
some_func(buff, pStart, pEnd);