Эксперт по электронике
6876 / 3299 / 340
Регистрация: 28.10.2011
Сообщений: 12,949
Записей в блоге: 7

Дискуссия о распределении памяти в ОС

11.02.2021, 01:09. Показов 14650. Ответов 132
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Замабувараев Посмотреть сообщение
Картинку можно будет взять хоть миллион на миллион пикселей
Умножьте миллион на миллион и на 3. Узнаете сколько нужно памяти для хранения данных картинки.
Нужно 2793 ГБ. У вас установлено столько в компе?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.02.2021, 01:09
Ответы с готовыми решениями:

Работа со стеком на последовательном распределении памяти
1. Создание пустого стека 2. Добавление элемента на вершину стека 3. Удаление элемента с вершины стека Работу программы...

Реализация стека на массиве и динамическом распределении памяти
всем привет, дано такое задание: Используя стек, решить следующую задачу. Напечатать каждое слово текстового файла Т в обратном...

Реализовать процедуры работы со стеком на последовательном распределении памяти
Помогите кто может. Задание 1. На языке программирования Pascal реализовать процедуры работы со стеком на последовательном...

132
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
12.02.2021, 23:00
Студворк — интернет-сервис помощи студентам
Quiet Snow, это просто пример того что процесс может выделить памяти сколько ему нужно и работать с ней не смотря на то сколько у него установлено RAM. Тут нет никаких оптимизаций вообще, тут тупо массив от нулевого элемента и до конца забивается данными, т.е. когда физическая память кончается то система сначала одну страницу (4КБ) записывает в файл, а другую (4КБ) читает. По уму нужно делать это бОльшими регионами - это повысит быстродействие, но чудес не будет и все будет ограничено скоростью доступа к файлу.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Т.е. выходит что все эти вещи, если они нужны - нужно делать руками.
Зачем делать руками? Система уже предоставляет такой механизм. Более того она так работает сама. Ничего не нужно изобретать - спроецировали файл и работаем просто с адресами памяти, система сама позаботится о том когда подгрузить часть, выгрузить ненужное.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
К слову сказать Pro_grammer, тоже таки прав, тут в проге маппинг организован руками
Какая разница? Ты думаешь память как-то по другому работает когда ты дергаешь VirtualAlloc? Оберни всю эту логику что я выше написал в функцию - возвращает такой же указатель на память. Просто в одном случае система страницы подгружает/выгружает в системный файл подкачки, в том примере что я скинул система выгружает в файл пользователя. Разницы нет.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Поэтому вполне возможно какие-то бенефиты во всём этом есть.
Конечно есть, при прямом чтении/записи файла данные проходят через буфера, при файл-маппинге этого не нужно память и есть буфер.
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
12.02.2021, 23:04
Цитата Сообщение от The trick Посмотреть сообщение
Можно и на 32 битах сделать
Так и на x64 не вышло
Уж извини, но это вообще не то, о чем я тут пишу.
Смотри, ты пишешь :
Цитата Сообщение от The trick Посмотреть сообщение
Ну вообще-то приложения работающие под виндой используют виртуальную память, а не физическую. Лимиты виртуальной памяти намного больше чем 2 ТБ на Win10.
Утверждаешь, что Винда сможет САМА (!) выделить память столько, сколько надо, независимо от физической оперативки.
Но выделить память напрямую у тебя не вышло, вот так:
Dim a(327680, 327680) As Byte
не 2ТБ, а всего 100ГБ.
Не умеет так Винда.
И ты решил схитрить, создал принудительно swap файл на моём HDD swap.map
Но вот облом, я запустил exe на диске, а там нету 100ГБ в наличии.
А я писал выше, что виртуальная память не берётся с Луны, она должна физически присутствовать в компьютере!
И чуда не вышло, израсходовав всю оперативку, ровно 16 ГБ, комп основательно затормозил, да так, что еле удалось вырубить через диспетчер задач.
1
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
12.02.2021, 23:26
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Утверждаешь, что Винда сможет САМА (!) выделить память столько, сколько надо, независимо от физической оперативки.
Да так и есть. И пример это показывает. Только не сколько надо, а сколько прописано в лимитах которые я скинул.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Но выделить память напрямую у тебя не вышло, вот так:
Dim a(327680, 327680) As Byte
А зачем мне так выделять? Так она не сможет выделится т.к. у тебя отключен файл подкачки, ты сам это и написал. Я выделил по типу того как это делают функции винды типа VirtualAlloc.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Не умеет так Винда.
Умеет ты читал что в мсдн написано? Будешь спорить с ними. Ок, я переубеждать не стану.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
И ты решил схитрить, создал принудительно swap файл на моём HDD swap.map
Схитрил? Я об этом написал еще выше:
Цитата Сообщение от The trick Посмотреть сообщение
Так я просто создал 100ГБ файл на диске и система отобразила мне его в виртуальное адресное пространство. Работа с этой памятью для меня прозрачна и не зависит от того сколько оперативной памяти у меня установлено и включен ли файл подкачки. По сути это и есть файл подкачки только мой собственный.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Но вот облом, я запустил exe на диске, а там нету 100ГБ в наличии.
Ну нет, в программе идет проверка дисков и если нет 100ГБ, то конечно облом, выделяется столько сколько есть. Чуда не будет. Но памяти выделится больше чем у тебя установлено оперативки (если конечно у тебя на ЖД места больше чем свободной оперативки, но для этого я и сделал сканирование дисков).

Цитата Сообщение от Pro_grammer Посмотреть сообщение
А я писал выше, что виртуальная память не берётся с Луны, она должна физически присутствовать в компьютере!
Нет ты утверждал что можно отключить как-то виртуальную память, потом стал говорить о том что при отключенном файле подкачки нельзя выделить виртуальной памяти больше чем установлено оперативной. Я же скинул пример в котором вместо системного файла подкачки (который может быть отключен), используется файл-маппинг и памяти может быть выделенно больше чем установлено оперативки.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
И чуда не вышло, израсходовав всю оперативку, ровно 16 ГБ, комп основательно затормозил, да так, что еле удалось вырубить через диспетчер задач.
Как раз-таки чудо случилось и твой комп израсходовав всю оперативку стал свопить данные в файл-маппинг. Для приложения же это происходило прозрачно, оно как писало в линейный массив - так и пишет. Ты же говорил что такое невозможно, ну и что теперь скажешь?

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Так и на x64 не вышло
Ну да, ну да. Если бы не вышло комп бы у тебя не затормозил как ты написал. Ладно я не буду доказывать тебе прописные истины, можешь остаться при своем мнении.
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
13.02.2021, 00:09
Цитата Сообщение от Pro_grammer Посмотреть сообщение
а там нету 100ГБ в наличии.
У меня тоже столько нету на диске, за всю свою жизнь у меня не было собственных прог, которые
реально сжирали бы даже 4 Гб, т.е. лимит 32 битной системы. Ну т.е. сделать то это легко можно,
но так чтобы этого требовала задача - такого не было. Хотя чисто теоретичеки можно было бы
табличными оптимизациями занять неестественное пространство, но это нерациональный расход,
пользователи за такое покусают.
Ну кстати согласись, у нас мало народу, кто сможет так лаконично объяснить про такие глубокие
вопросы, и не просто объяснить, а ещё и код показать. Так что Анатолию респект однозначно.
Вот никогда особо не задумывался об этом, но профи так или иначе лезут в эти аспекты, колупают.
По сути же это всё сделано для просто нормального управления памятью, т.е. назначать программам
корректно свободные куски, не таская их туда сюда(это бы сильно замедлило процессы выделения
и уничтожения памяти и требовало бы остановки всех процессов).

Добавлено через 14 минут
Цитата Сообщение от The trick Посмотреть сообщение
Зачем делать руками?
Чтобы не уходить в своп, кто знает что взбредёт винде и что она начнёт выгружать во все свопы.
Т.е. своя архитектура под задачу. Она не даст, конечно, обратиться ко всему этому пространству,
как файл маппинг, но если этого и не требуется - отработает значительно быстрее.

Цитата Сообщение от The trick Посмотреть сообщение
Quiet Snow, это просто пример того что процесс может выделить памяти сколько ему нужно и работать с ней не смотря на то сколько у него установлено RAM. Тут нет никаких оптимизаций вообще, тут тупо массив от нулевого элемента и до конца забивается данными, т.е. когда физическая память кончается то система сначала одну страницу (4КБ) записывает в файл, а другую (4КБ) читает. По уму нужно делать это бОльшими регионами - это повысит быстродействие, но чудес не будет и все будет ограничено скоростью доступа к файлу.
Да это понятно.
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
13.02.2021, 00:32
Цитата Сообщение от Quiet Snow Посмотреть сообщение
4 Гб, т.е. лимит 32 битной системы
Через PAE или AWE можно больше, до 64 ГБ на шиндоуз 2003.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
13.02.2021, 00:35
Цитата Сообщение от Pro_grammer Посмотреть сообщение
не 2ТБ, а всего 100ГБ.
Ну да не эксабайты на маке))) Маки вообще уникальные в своём роде устройства.
И там где-то внизу зиждятся серверные винды, скромненько, со своими 24 терабайтами.

Code
1
Эксабайт(Эбайт) 10^18 байт  = 1 000 000 000 000 000 000 байт
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.02.2021, 08:06
Цитата Сообщение от The trick Посмотреть сообщение
Так она не сможет выделится т.к. у тебя отключен файл подкачки
Именно так она не сможет по любому, даже если я включу файл подкачки, всё равно для массива память не выделится в файл подкачки.
Цитата Сообщение от The trick Посмотреть сообщение
Я выделил по типу того как это делают функции винды типа VirtualAlloc.
В этом всё и дело! Ты выделил, а не Винда. Про это я и написал, что не может она сама.

Цитата Сообщение от The trick Посмотреть сообщение
это просто пример того что процесс может выделить памяти сколько ему нужно и работать с ней не смотря на то сколько у него установлено RAM.

Пример хороший, спору нет. Но это он реализован в коде, вот когда Винда сможет без всяких бубнов просто выполнить этот код Dim a(327680, 327680) As Byte при недостатке физической оперативки, тогда да, я подниму руки вверх, скажу сдаюсь!

А написать руками что угодно можно, особенно такому монстру как тебе. Я вообще удивился, что ты это не на VB6 написал, я был почти уверен, что сможешь
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
13.02.2021, 08:19
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Ты выделил, а не Винда
Шиндоуз загружает исполняемые файлы и DLL через отображение, это теперь тоже не считается за выделение памяти?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.02.2021, 08:42
Цитата Сообщение от Замабувараев Посмотреть сообщение
Шиндоуз загружает исполняемые файлы и DLL через отображение, это теперь тоже не считается за выделение памяти?
А что, у нас внутри каждого экзешника и DLL есть код, который создает на диске swap.map?
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
13.02.2021, 09:10
Вам дали указатель на область памяти. Вам есть разница каким образом этот указатель получен? Или вам конкретно нужно получить объект типа SafeArray, именно так в потрохах VB6 устроены массивы?

Добавлено через 15 минут
Если SafeArray, то количество элементов упирается в 32‐битное целое, такой массив не может занимать больше четырёх гигабайт.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.02.2021, 09:43
Цитата Сообщение от Замабувараев Посмотреть сообщение
именно так в потрохах VB6 устроены массивы?
Я не привязываюсь к VB6.
Утверждение:
Цитата Сообщение от The trick Посмотреть сообщение
Лимиты виртуальной памяти намного больше чем 2 ТБ
Пояснение:
2ТБ это максимальная оперативка в win10 pro.
Иными словами The trick утверждает, что Винда сама может выделить память приложению столько, сколько оно запросит, если даже это будет больше, чем наличии оперативной памяти.

Я прошу написать на любом ЯП эквивалент кода:
Visual Basic
1
2
3
4
5
6
7
8
Dim a(327680, 327680) As Byte
For i = 0 To 327680
    For j = 0 To 327680
        a(i, j) = Int(Rnd() * 250)
    Next
Next
MsgBox a(10, 10)
MsgBox a(327680, 327680)
у него не вышло. Был написан совсем другой код, с использованием файла на диске, который завесил систему.

Ваш выход! FreeBasic x64 существует же? Пусть Винда сама выделит память под массив такого размера.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
13.02.2021, 09:53
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Винда сама
Я правильно понимаю, что можно использовать только функцию HeapAlloc, но не MapViewOfFile?
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
13.02.2021, 10:03
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Чтобы не уходить в своп, кто знает что взбредёт винде и что она начнёт выгружать во все свопы.
Т.е. своя архитектура под задачу. Она не даст, конечно, обратиться ко всему этому пространству,
как файл маппинг, но если этого и не требуется - отработает значительно быстрее.
Пожалуйста объясни это подробнее, я просто не могу понять как файл-маппинг может быть медленнее чем какое-то ручное решение.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Именно так она не сможет по любому, даже если я включу файл подкачки, всё равно для массива память не выделится в файл подкачки.
Если ты включишь файл подкачки необходимого размера то все спокойно выделится, т.к. механизм один и тот же. А все потому что память выделяется виртуальная, а не физическая.


Цитата Сообщение от Pro_grammer Посмотреть сообщение
В этом всё и дело! Ты выделил, а не Винда. Про это я и написал, что не может она сама.
Не нужно этого, ты изначально писал про другое. Windows мне выделила кусок виртуальной памяти в 100ГБ при установленной RAM меньше этого объема - о чем я изначально написал.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Но это он реализован в коде, вот когда Винда сможет без всяких бубнов просто выполнить этот код Dim a(327680, 327680) As Byte
Вот это поворот! Не важно как он реализован, через File-Mapping, через VirtualAlloc или через прослойки типа malloc. Факт того что ты говорил что это невозможно, а я показал что возможно. Что значит реализован в коде, я так и не понял. Ты что как-то выделяешь память не в коде?

Цитата Сообщение от Pro_grammer Посмотреть сообщение
А что, у нас внутри каждого экзешника и DLL есть код, который создает на диске swap.map?
Нет. Тебе написали про другое, про то что каждый исполняемый файл также маппится в АП процесса. Насчет файла swap.map у тебя система сама пишет в подобный файл называется pagefile.sys когда включен системный файл подкачки.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Я вообще удивился, что ты это не на VB6 написал, я был почти уверен, что сможешь
Я бы мог подобное написать и на VB6, но как я написал это менее наглядно т.к. в VB6 - 32 битные указатели.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
13.02.2021, 10:07
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Иными словами The trick утверждает, что Винда сама может выделить память приложению столько, сколько оно запросит, если даже это будет больше, чем наличии оперативной памяти.
Да, это так. Это основы и то для чего и создавался механизм виртуальной памяти. Для меня это странно что ты этого не знаешь.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
у него не вышло. Был написан совсем другой код, с использованием файла на диске, который завесил систему.
Разницы нет. Память по факту выделилась в итоге? Вот этот кусок кода:
C
1
2
    for (UINT64 i = 0; i < szSwapSize.QuadPart; i++)
        pbData[i] = 1;
как-то по особому работает?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.02.2021, 10:31
Цитата Сообщение от The trick Посмотреть сообщение
Разницы нет. Память по факту выделилась в итоге?
Есть.
И твой подход можно тупо заменить на файл с произвольным доступом. Без всяких танцев со swap.map, читать любые данные из файла и писать в файл. Даже массив не нужно создавать.

А DIM это другое. Это Винда сама берёт, и автоматически выделяет память для массива. Мы больше ни чего не пишем в коде. Только DIM. Разницу видишь? просто скомпилировать 1 строчу
Code
1
Dim a(327680, 327680) As Byte
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
13.02.2021, 10:41
Цитата Сообщение от Pro_grammer Посмотреть сообщение
И твой подход можно тупо заменить на файл с произвольным доступом. Без всяких танцев со swap.map, читать любые данные из файла и писать в файл. Даже массив не нужно создавать.
Ты не ответил на вопрос, память в итоге выделилась? Не нужно что-то сейчас левое придумывать и говорить об этом. Я написал что лимиты виртуальной памяти намного больше чем оперативной и что приложение без проблем сможет выделить памяти столько сколько ему нужно не взирая на объемы RAM. Ты же писал что это невозможно. Насчет файла с произвольным доступом ты конечно прав что можно заменить, только вот приложению которое работает с таким кодом от этого ни горячо ни холодно, оно ожидает получить блок памяти.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
А DIM это другое. Это Винда сама берёт, и автоматически выделяет память для массива. Мы больше ни чего не пишем в коде. Только DIM. Разницу видишь? просто скомпилировать 1 строчу
DIM это тоже самое. Только касаемо механизма SAFEARRAY (те массивы что в VB6), там просто стоит ограничение на размеры внутри самой логики работы функции, а не ограничения памяти. Кстати созданные вручную такие массивы (c флагом FADF_AUTO), будут работать без проблем.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Мы больше ни чего не пишем в коде. Только DIM. Разницу видишь? просто скомпилировать 1 строчу
Послушай, при чем тут это? Не нужно сейчас уходить от темы. Я с тобой спорю не из-за этого сколько строчек написать нужно. Подумай и перечитай о чем я писал и на что ты отвечаешь.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
13.02.2021, 11:02
Цитата Сообщение от Pro_grammer Посмотреть сообщение
И твой подход можно тупо заменить на файл с произвольным доступом
Нельзя.

Потому что указатель, возвращённый MapViewOfFile — это настоящий указатель на память и его можно отправлять в любую функцию где требуется указатель, например, во всякие винапи. Выполнять по этому указателю Placement New, таким образом создавать объекты.

А с файлом что? Как HANDLE можно передать в функцию требующую указатель? Как на HANDLE можно создать объект?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.02.2021, 11:11
Цитата Сообщение от Замабувараев Посмотреть сообщение
Потому что указатель, возвращённый MapViewOfFile — это настоящий указатель на память и его можно отправлять в любую функцию где требуется указатель, например, во всякие винапи. Выполнять по этому указателю Placement New, таким образом создавать объекты.
Мне этого не требуется.
Тупо выделить память под массив, которая больше оперативки.
Но не силами самого приложения, как у The trick, а это должна сделать Винда сама.

Вот такая простая задача.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
13.02.2021, 11:18
Замабувараев, более того он не сможет с файлом разименовать указатель, а любой доступ ему придётся оборачивать в ReadFile/WriteFile/SetFilePointerEx. Я уже молчу о скорости при таком подходе.

Добавлено через 6 минут
Pro_grammer, что задачи теперь на ходу будем придумывать? Вот тебе простое решение - создай файл подкачки на 200гб и включи его, если тебя не устраивает чем то внешний файл подкачки. И все функции винды подхватят его и будут работать как ты хочешь. Только зачем это нужно, если и так уже удалось выделить виртуальной памяти больше чем оперативной хотя ты говорил что это невозможно. Я прекрасно понимаю почему ты так сказал, а теперь изворачиваешься, но тут не дураки сидят. Извини мб грубо, но так и есть.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
13.02.2021, 11:25
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Тупо выделить память под массив
Вам так нужен массив? Вот код на фрибесике:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
Const ARRAY_LENGTH As LongInt = 100 * (1024 * 1024 * 1024)
 
Function CreateArray(ByVal Length As LongInt)As UByte Ptr
    Return MapViewOfFile()
End Function
 
Dim pArray As UByte Ptr = CreateArray(ARRAY_LENGTH)
 
For i As LongInt = 0 To ARRAY_LENGTH - 1
    pArray[i] = Rnd() * 265
Next
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2021, 11:25
Помогаю со студенческими работами здесь

Реализовать процедуры работы со стеком на последовательном распределении памяти
На языке программирования Pascal реализовать процедуры работы со стеком на последовательном распределении памяти: - Создание пустого...

Реализовать процедуры работы со стеком на последовательном распределении памяти
Ребят, нужна помощь!!! Так вот, у меня проблема! всегда пишет что стек переполнен, а из файла просто стирает всю инфу. НЕ разбираюсь в...

Ошибка при распределении памяти: realloc(): invalid next size
Добрый день. Написал программу с динамическим массивом. Нужно для него сделать динамическое увеличение памяти, если оно нужно, однако...

Стек: Реализовать процедуры работы со стеком на последовательном распределении памяти
Есть задание 1. На языке программирования C++ реализовать процедуры работы со стеком на последовательном распределении памяти: -...

Стоит ли при динамическом распределении памяти перехватывать возможные ошибки через try/catch?
Здравствуйте. Обращаюсь к опытным. Скажите, стоит ли при каждом динамическом распределении памяти перехватывать возможные ошибки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru