|
13.09.2013, 23:04
|
#1
|
ПроЭктировщик
Регистрация: 12.09.2005
Сообщений: 138
Написано 20 полезных сообщений (для 31 пользователей)
|
boost::interprocess
Всем привет! Возник вопрос по Shared memory буста.
Где именно выделяется память под нее?
В доках пишут следующее:
The operating system maps a memory segment in the address space of several processes
|
Дело в том, что я случайно забыл прописать remove в конце работы программы. А на следующий день при отладке память открылась совершенно свободно. В ней хранились последние данные с прошлого дня.
На сколько я помню, при нативной работе с общей памятью в винде она очищалась при выключении ПК. Почему в бусте не так?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.09.2013, 00:46
|
#2
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: boost::interprocess
Память сохранилась между выключениями компа?
Ну тогда это энергонезависимая память, или файл
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.09.2013, 02:26
|
#3
|
|
Ответ: boost::interprocess
Windows operating system also offers shared memory, but the lifetime of this shared memory is very different to kernel or filesystem lifetime. The shared memory is created backed by the pagefile and it's automatically destroyed when the last process attached to the shared memory is destroyed.
Because of this reason, there is no effective way to simulate kernel or filesystem persistence using native windows shared memory and Boost.Interprocess emulates shared memory using memory mapped files. This assures portability between POSIX and Windows operating systems.
|
RTFM
|
|
|
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
14.09.2013, 15:52
|
#4
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: boost::interprocess
Охрененно =\
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
14.09.2013, 22:49
|
#5
|
|
Ответ: boost::interprocess
Винда всегда отличалась тем что клала большой болт на POSIX. С приходом C11\C++11 пал один из самых проблемных - бастион threads, теперь они наконец-то в стандарте : http://en.cppreference.com/w/c/thread и http://en.cppreference.com/w/c/atomic. Плюс в C11\C++11 наконец-то разобрались с UTF8\16\32 ( http://en.cppreference.com/w/c/string/multibyte) и СТОЛМАН ЗАСУНЬ СВОЙ ICONV ОБРАТНО !
Так что когда на винде появятся нормальные C++ компиляторы - тогда и заживем, ориентировочно это конец 2014 (тогда майкрософт обещает полную поддержку C++11\14, и возможно clang наконец-то допилят для винды), а пока живем с огрызком gcc 4.8 в виде mingw 4.8, так там даже регеспы не работают и всяким либам приходится эмулировать POSIX вот такими костылями.
|
|
|
Сообщение было полезно следующим пользователям:
|
|
14.09.2013, 23:11
|
#6
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: boost::interprocess
Чот я в ксакепе прочитал пример работы с потоками и прям старпёром себя почувствовал. То ли дело было виндовые библиотеки юзать - только хардкор. =( Чувствую, как остаюсь на обочине технологий
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
15.09.2013, 01:40
|
#7
|
|
Ответ: boost::interprocess
impersonalis
так просто практикуй писать софт используя bleeding edge technology (для soft-realtime это C++14, Rust, D, вариации лиспа и FRP, и тд, всякие https://github.com/postwait/fq, https://github.com/zdevito/terra и тд, для веба больше moka подскажет)
можно просто взять за правило каждый день по часу тратить время на bleeding edge, на cutting edge tech (те которые острые, но уже не режут ибо проверены людьми) не трать особо времени, ибо там спецы появились и скоро нафигачат и книжки и презентации и тд
так же крутись в сфере людей которая этим занимается, например на closedcircles ( http://blog.gamedeff.com/?p=386) обсуждаются довольно интересные программерские и геймдев вопросы
ps. Rust например это такой язык что вот ты пишешь код, и опа ты уже отлаживает компилятор и потом делаешь пулл реквест фикса.
|
|
|
Сообщение было полезно следующим пользователям:
|
|
20.09.2013, 19:34
|
#8
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: boost::interprocess
Сообщение от jimon
ps. Rust например это такой язык что вот ты пишешь код, и опа ты уже отлаживает компилятор и потом делаешь пулл реквест фикса.
|
Чего?
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
20.09.2013, 19:45
|
#9
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: boost::interprocess
Сообщение от Randomize
Чего?
|
Пишешь код - баги. Ловишь их понимаешь что они в компиляторе.
Далее фиксишь компилятор.
Идёшь на git (или чётам), и делаешь pull request фикса который замутил.
Все довольны - твои проблемы решены, другие тоже не встретят.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:40.
|