|
5 / 5 / 1
Регистрация: 20.11.2017
Сообщений: 51
|
|
Адресация переменных и всей структуры программы на реальной памяти в ОС20.11.2017, 21:38. Показов 4513. Ответов 42
Метки нет (Все метки)
Доброго времени суток, Вопрос по памяти, не совсем понятно:
1. Я написал программу 1.cpp, выполняю ее компиляцию, если я не использую динамическое выделение памяти, то при ее компиляции, исходя из объявленных переменных и еще чего-то там(?????), вычисляется объем памяти, требуемый для выполнения программы, затем происходит линковка - компоновка написанной программы, адресация каждой инструкции и разрешение имен для ф-ций(их адресация) . Линкер делает адресацию относительно "нуля" всего блока инструкций. Таким образом получается исполняемый файл - блок инструкций с рассчитанным, для его выполнения, объемом данных, у которого каждая инструкция теперь имеет адрес и за именем ф-ции скрывается адрес. 2. При запуске такого файла, ОС выделяет память, рассчитанную при компиляции и загружает программу в какую-то область оперативки с адресом X, где X и является по-сути тем самым "нулем" программы. ОС настраивает процессор на выполнение 1-ой инструкции и начинается ее выполнение, как только он доходит до инстр. вызова ф-ции, он кладет в IP адрес след.инструкции (в стек?) и переходит по адресу, который был дан ф-ции при линковке, передавая пар-ры этой ф-ции в стек обл-ти памяти где лежит наша программа. (Как этот стек выделяется? Это часть памяти, рассчитанной при компиляции? ) , затем ф-ция выполняется, работая с лок. переменными, которые лежат в том же стеке, и дойдя до return из стека (IP???) выдергивается адрес возврата и "процессор возвращается с каким - то значением". 3. При использовании динамического выделения, у нас и статическая память будет иметь место, в которой будет храниться выполняемая программа? и в процессе выполнения программы, дойдя до инструкции malloc (new), происходит выделение дин.памяти "где-то" в опер. памяти. Верно ли я понимаю, скорректируйте, пожалуйста)))) Хочу понять и иметь общее представление о данном процессе) Буду очень рад, если кто-нибудь возьмется написать поэтапно все это)))
2
|
|
| 20.11.2017, 21:38 | |
|
Ответы с готовыми решениями:
42
GlobalAlloc и адресация структуры Адресация переменных по стандарту МЭК 61131-3
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,088
|
|||||||||
| 03.12.2017, 03:24 | |||||||||
Сообщение было отмечено prado777 как решение
Решение
1
|
|||||||||
|
5 / 5 / 1
Регистрация: 20.11.2017
Сообщений: 51
|
||
| 03.12.2017, 12:39 [ТС] | ||
|
0
|
||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 03.12.2017, 12:45 | |
|
prado777, да. А ты не знал?
1
|
|
| 03.12.2017, 12:45 | |
|
Адресация переменных: найти и исправить ошибку в коде
Сегментная адресация памяти Туториал по написанию реальной программы Адресация памяти, помогите разобраться Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|