Недавно я сделал нового друга. Его зовут _expand, и у нас были приятные разговоры, и я даже несколько раз встречался с ним. Но когда я начал спрашивать, никто не слышал о моем «экспандере». Я стал подозрительным. Я позвонил нескольким совершенно не метафорическим друзьям в microsoft и нескольким друзьям в другом месте бизнеса. Ничего. Никто никогда не использовал его. Я лакомился вокруг различных поисковых систем и источников деревьев. Ничего, кроме беглого упоминания здесь и там. Конечно, недостаточно информации о производительности и совместимости для меня, чтобы ввести _expand в производственный код или более уместно, общие библиотеки._Expand против нового по сравнению с GNU
Хуже того, нет никакой эквивалентной функции, которую я могу найти в любой из библиотек gnu, поэтому все, что я взламываю с моим новым другом, ни в коем случае не будет переносимым. Какой позор, потому что это действительно увлекательная и захватывающая способность иметь. Конечно, я мог бы перекопать в realloc и разобраться, как он функционирует, но проблема в том, что большая часть реализации сильно изменена на * nixes. Поэтому мне пришлось бы использовать версию кода после версии, чтобы попытаться получить портативный _expand. Тем не менее, кажется смешным, что ничего подобного не существует в glib или расширенных gnu libs.
- Есть ли аналогичная функция, которую я должен знать о взломе linux? Больше всего ответила
- Есть ли стандартный крючок, на котором я мог бы построить подобную функцию? Ответа на этот вопрос
- Кто-нибудь знает, какую работу предлагает _expand?
- Как он взаимодействует с объектами, выделенными на LFH?
Чтобы прояснить мои интересы, я пытаюсь создать односвязный аккумулятор, который расширяется, пытаясь минимизировать фрагментацию при распределении блоков с несколькими элементами в соответствии с традиционными реализациями deque. Ограничивая варианты использования для добавления и удаления элементов, я надеюсь оптимизировать время для удаления для всей структуры, а также вставить и индексировать элементы. В результате «громкий сбой» _expand позволяет мне заставить структуру разумно подумать о том, когда и если она может изменить размер на месте, и что это значит о том, где она может помещать данные.
Nice литературных стилей. Теперь убей их. На все наши вопросы. Быстро. – dmckee 2010-12-06 02:11:07
Вероятно, есть причина, по которой никто никогда ее не использует. – 2010-12-06 02:15:11