ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
303886 Топик полностью
abivan (02.02.2012 11:38, просмотров: 276) ответил fk0 на Сегментация (фрагментация) -- это сказочный миф (те кто не пользуют -- особенно хорошо о сегментации знают, ага). Практически же возможность фрагментации зависит от того, каким образом выделяется память в программе и от стратегии выделения памяти.
Предложенный вариант реализован для себя, поэтому и не выкладывется "официально".  тесты были. Мне они не нужны код используется в нескольких комерческих проектах(приборах на пик18 и пик 24) не нравится BYTE, WORD сделай как нравится. Или ты считаешь что те кто так пишут, те вообще не заслуживают внимания? Подрихтовать его под себя для тебя думаю не составит большого труда. Пару дней потратишь максимум. Код универсальный потом будешь его пользовать всю оставшуюся жизнь :-) В том треде даны ссылки на первоисточник. Игорь Школа реализовал его на ++ для себя. Использовал его для программ под Windows. Возьми оригинал и сделай сам без WORD и BYTE. Мне вот сдается что ты уже на изучение багов компилятора потратил больше времение, чем на то чтобы реализовать alloc один раз и забыть. >изменить стратегию выделения памяти для фрагментирующихся данных на уровне прикладной программы, нет уж, ну нафиг. по мне лучше один раз подумать и сделать(что я для себя и сделал), чем каждый раз задумываться о всякой мелочи.
Кроме того, если программа (ембеддед) рано или поздно возвращается в какое-то начальное состояние освобождая всю память
"мои" приборы работают годами без выключения, так что для меня фрагментация это не миф.
Практически же возможность фрагментации зависит от того, каким образом выделяется память в программе и от стратегии выделения памяти.
У меня есть опыт беззаботной совместной работы по созданию прибора. Приятный момент заключается в том, что мне не нужно даже смотреть код написанный моим коллегой. Меня не заботит правильно ли он выбрал стратегию выделения памяти или нет. Я стараюсь облегчить себе жизнь и пока это у меня получается. Я заметил еще по хайтековким компиляторам, что чем чаще используешь методы, которые не используются большинством, тем чаще натыкаешься на баги.