February 2026

S M T W T F S
1234567
891011121314
15161718192021
22232425262728

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Saturday, November 21st, 2009 04:11 pm
Прочел об интересном трюке - хранении указателей для двусвязного списка с помощью XOR. Практичность этого трюка сомнительна, разве что в embedded, я бы сам никогда, наверное, не стал им пользоваться. Но идея красивая. 
Sunday, November 22nd, 2009 01:24 am (UTC)
На самом деле boehm gc неплохо работает в средах, где используется изрядное количество библиотек общего назначения, написанных без расчёта на GC. То есть вольности такого рода изрядно редки. Например, про трюк с int* oneBasedArray = malloc(sz)-1; я читал в связи с мусорными проблемами несколько раз, но в жизни опять же не видел.

Это мне напоминает задачу, с которой я недавно развлекался — разодрать DLL-ку на сегменты кода и данных, чтобы их можно было линковать по отдельности. Делается это исходя из того, в какой сегмент «приземляется» base relocation; теоретически никто не обещал, что такое сработает, и руками довольно легко этот метод обломать. Тем не менее, на существующих в дикой природе DLL проблем не возникает.
Sunday, November 22nd, 2009 01:28 am (UTC)
s/сегмент/секция/, конечно же.