Вы бы порекомендовали использовать сборку для доступа к аргументам в этом исключительном случае?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Вы бы порекомендовали использовать сборку для доступа к аргументам в этом исключительном случае?

Сообщение Anonymous »

рассмотрим следующую функцию, которая не будет встроена, и предположим, что платформа x86:

Код: Выделить всё

void doSomething(int & in){
//do something
}
во-первых, я не уверен, что такой сценарий произойдет, но поскольку я думаю, что это возможно, я спрошу, ЕСЛИ всякий раз, когда в каком-либо вызывающем объекте эта функция вызывается аргументом быть предоставленным, находится точно в верхней части кадра стека вызывающего объекта, поэтому в вызываемой функции возможен доступ к нему через регистр ebp (после того, как вызываемый объект переместил содержимое esp в ebp) на языке ассемблера, предлагаете ли вы вообще игнорировать объявление параметра для функции и используйте сборку для доступа наши аргументы в этом исключительном случае или просто оставить определение функции как есть и предоставить компилятору делать то, что он делает? поскольку я нигде не читал, что компилятор будет рассматривать такой исключительный случай как фактор соглашения о вызовах, и я думаю, что он просто сгенерирует код для передачи указателя на аргумент в кадр стека вызываемого объекта или в один из регистров

Подробнее здесь: https://stackoverflow.com/questions/174 ... ional-case
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»