forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   boost::interprocess (http://forum.boolean.name/showthread.php?t=18533)

Hamaus 13.09.2013 23:04

boost::interprocess
 
Всем привет! Возник вопрос по Shared memory буста.
Где именно выделяется память под нее?
В доках пишут следующее:
Цитата:

The operating system maps a memory segment in the address space of several processes
Дело в том, что я случайно забыл прописать remove в конце работы программы. А на следующий день при отладке память открылась совершенно свободно. В ней хранились последние данные с прошлого дня.
На сколько я помню, при нативной работе с общей памятью в винде она очищалась при выключении ПК. Почему в бусте не так?

SBJoker 14.09.2013 00:46

Ответ: boost::interprocess
 
Память сохранилась между выключениями компа?

Ну тогда это энергонезависимая память, или файл :)

jimon 14.09.2013 02:26

Ответ: 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

impersonalis 14.09.2013 15:52

Ответ: boost::interprocess
 
Охрененно =\

jimon 14.09.2013 22:49

Ответ: 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 ОБРАТНО ! :crazy:

Так что когда на винде появятся нормальные C++ компиляторы - тогда и заживем, ориентировочно это конец 2014 (тогда майкрософт обещает полную поддержку C++11\14, и возможно clang наконец-то допилят для винды), а пока живем с огрызком gcc 4.8 в виде mingw 4.8, так там даже регеспы не работают :( и всяким либам приходится эмулировать POSIX вот такими костылями.

impersonalis 14.09.2013 23:11

Ответ: boost::interprocess
 
Чот я в ксакепе прочитал пример работы с потоками и прям старпёром себя почувствовал. То ли дело было виндовые библиотеки юзать - только хардкор. =( Чувствую, как остаюсь на обочине технологий

jimon 15.09.2013 01:40

Ответ: 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) обсуждаются довольно интересные программерские и геймдев вопросы :crazy:

ps. Rust например это такой язык что вот ты пишешь код, и опа ты уже отлаживает компилятор и потом делаешь пулл реквест фикса.

Randomize 20.09.2013 19:34

Ответ: boost::interprocess
 
Цитата:

Сообщение от jimon (Сообщение 267079)
ps. Rust например это такой язык что вот ты пишешь код, и опа ты уже отлаживает компилятор и потом делаешь пулл реквест фикса.

Чего?

moka 20.09.2013 19:45

Ответ: boost::interprocess
 
Цитата:

Сообщение от Randomize (Сообщение 267423)
Чего?

Пишешь код - баги. Ловишь их понимаешь что они в компиляторе.
Далее фиксишь компилятор.
Идёшь на git (или чётам), и делаешь pull request фикса который замутил.
Все довольны - твои проблемы решены, другие тоже не встретят.


Часовой пояс GMT +4, время: 14:23.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot