Наложения в ARM - PullRequest
       29

Наложения в ARM

1 голос
/ 06 января 2012

Итак, я использую систему ARM (точнее, iPod touch), и мне хотелось бы немного понять, как на самом деле собирается моя программа.Я понял, как использовать gdb для печати и пошагового выполнения инструкций ассемблера, но я читал, что ARM поддерживает наложения для больших программ.Есть ли способ как-то перечислить места в самом исполняемом файле, где расположены эти оверлеи, если они вообще существуют?Нужен ли специальный флаг gcc для включения наложений или есть способ отключить их для простоты отладки?

Спасибо за помощь.

1 Ответ

4 голосов
/ 06 января 2012

У нас есть классический пример XY проблемы , но я все равно попытаюсь ответить на него.

Оверлеи не являются чем-то присущим ARM, это общая методика для запуска программ, котораябольше доступной памяти (или уменьшает использование памяти).Он может быть реализован в ARM, x86 или почти на любой другой платформе.

Однако вам не стоит об этом беспокоиться.iOS и Linux не используют оверлеи, они используют MMU и виртуальную память для управления запущенными программами.Для вас, как для программиста, это прозрачно, операционная система по мере необходимости заботится о сопоставлении и отображении кода или страниц данных.

Если у вас возникают конкретные проблемы при отладке, вы должны упомянуть их;задавая гипотетические вопросы о том, что вы думаете , причина, как правило, не очень продуктивна.

...