Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2015, 14:32   #1
Bayern_M
Форумчанин
 
Регистрация: 18.03.2015
Сообщений: 114
По умолчанию Си. Автоматическое удаление общей памяти

Здравствуйте!

Прошу подсказать, как можно реализовать автоматическое удаление выделенных сегментов общей памяти при убийстве процесса. Дело в том, что в моем коде работа с общей памятью идет в бесконечном цикле, поэтому возможности воспользоваться библиотечными shmdt и shmctl нет. Программа останавливается убийством процесса, а сегменты остаются. В результате приходится сегменты удалять руками, что очень неудобно.

Где-то видел такую реализацию. но не могу найти никак. Заранее спасибо
Bayern_M вне форума Ответить с цитированием
Старый 07.07.2015, 14:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Насколько я понимаю современная винда вполне сама мусор подчищает, если процесс тю-тю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.07.2015, 14:42   #3
Bayern_M
Форумчанин
 
Регистрация: 18.03.2015
Сообщений: 114
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Насколько я понимаю современная винда вполне сама мусор подчищает, если процесс тю-тю.
Работаю под Линуксом. Можно заморочиться и написать шелл, наверное,, но я где-то видел подобное автоматическое удаление из кода программы. Никак не могу вспомнить, как это провернуть..
Bayern_M вне форума Ответить с цитированием
Старый 07.07.2015, 14:52   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а... Пингвинчик... Тогда сорри.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.07.2015, 16:50   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Мне почему-то кажется, что linux тоже сам очищает все, что осталось после процесса, в ином случае можно нехилые DoS атаки делать.
waleri вне форума Ответить с цитированием
Старый 10.07.2015, 10:46   #6
Bayern_M
Форумчанин
 
Регистрация: 18.03.2015
Сообщений: 114
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Мне почему-то кажется, что linux тоже сам очищает все, что осталось после процесса, в ином случае можно нехилые DoS атаки делать.
Нет, не очищает. Ни сегменты, ни семафоры линукс не удалит сам, если его не попросить..
Bayern_M вне форума Ответить с цитированием
Старый 10.07.2015, 11:57   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

То есть мне достаточно сделать процесс, который создает семафор, создает копию себя и завершается и вся система забьется семафорами со всеми вытекающими?

Ну вот не верю...
waleri вне форума Ответить с цитированием
Старый 14.07.2015, 16:57   #8
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

При уничтожении процесса виртуальная память освобождается, в любом приложении адресация памяти начинается с 0x0 (разумеется эта часть защищена от неопытного программиста), но нужно понимать, что де-факто эта всего лишь цифра, которая преобразуется системой, во что-то более понятное её менеджеру. Если вас так мучает при каждом выделении памяти освобождать её... то вы не тот язык выбрали. Вообще сделайте свой менеджер памяти с умными указателями, что в свою очередь убивали себя сами.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 17.07.2015, 15:43   #9
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Вот советую обратить внимание хотя бы на это:

http://wm-help.net/lib/b/book/1696396857/286

Это должно помочь в вашем случае
Может это и чушь, но это моя чушь и я ее никому не отдам.
Shad0wF1rst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое удаление проекта VBA из файла *.doc DBEER Microsoft Office Word 1 14.04.2014 13:16
Автоматическое удаление формы или запроса s8259 Microsoft Office Access 8 21.12.2010 23:52
Скрипт на автоматическое удаление laudanum Помощь студентам 2 09.08.2010 11:19
Excel 2007 автоматическое удаление старых строк при потоковом поступлении новых Swindler_1 Microsoft Office Excel 35 15.03.2010 15:55