Мне было интересно, являются ли локальные переменные в сборке быстрее глобальных переменных, которые мы используем. Контекст для этого заключается в том, что я изучаю анимацию 2d, используя win32 api, из книги. Автор использует функцию для инициализации (создание, регистрация, показ и обновление окна) главного окна программы. Я написал эту функцию в asm (просто для того, чтобы практиковать некоторый asm). Поэтому мне было интересно, есть ли какое-либо преимущество в производительности, поскольку в используемой функции asm структура WNDCLASSEX была создана локально (в стеке). Я знаю, что локальные переменные в сборке должны быть быстрее, но, пройдя разборку для другой программы (полностью в cpp), я заметил, что компилятор также создает локальный WNDCLASSEX. Это смутило меня в этой теме. Поэтому я хочу знать, есть ли разница в производительности между кодом asm и кодом C++.Локальные переменные в сборке: они быстрее глобальных переменных?
Devjeet
Концепции переменной или области действия (локальные, глобальные) не существуют в сборке. И C++ не определяется с точки зрения концепций сборки. –
Нет кода. Трудно сказать, что быстрее. Неприменимо, учитывая вызовы CreateWindow и т. Д., Которые заполняют ваш код. –
@cat Предполагаю, что вы можете рассматривать переменную, находящуюся в стеке как локальную, а одну выделенную в сегменте данных как глобальную. –