...особой, контроллерной...
сегодня огребал неиллюзорный дебаг от двух очень занятных вещей:
номер раз
не все архитектуры хранят знаковый бит вместе с числом
номер два
выравнивание данных в памяти это
читать дальше
первое я огреб, когда отладочная сессия грохалась в никому неизвестное исключение (в отладочных регистрах - тишина и покой, как в морге >_<
во время вызова библиотечной функции. самое странное - в официальном примере использования использовался указатель на массив из простых char, а на практике иначе как unsigned char * функция жрать не хотела.
а второе получил по собственной глупости, понадеявшись на директиву автоматического выравнивания в памяти, которая как оказалось кладет болт на внутренности структур, в результате данные валялись начиная с нечетного байта - код в сторонней библиотеке пытался оттуда брать w[adr] и охреневал от неровного значения.
struct {
char locked, needserve, current;
char data[FRSIZE];
}
итог
1) не зря Си называют кроссплатформенным ассемблером, сейчас память приходится мапить чуть ли не руками, неизвестно когда я под это чудо напишу нормальное компактное ядро. (да я красноглазый маньяк, но боже упаси портировать туда линукс - я застрелюсь разбираться в ядре, сборки под ARM хватило за глаза.)
тулчейн под Blackfin штука жутко странная и таинственная, сколько же еще головной боли мне он готовит....
@темы:
нытье,
впечатления,
бред,
магия,
программизм
в любом случае, хорошо, что бага нашлась в итоге =)
да, представляю =)
а я наоборот. уже на С++ проект большой третий пишу, поэтому надоело, хочется чего-то вроде python'а поизучать =) что и получается. третий проект - суть расширение для питона =)
зато вот вчера подумалось: "а почему мы не используем boost?" теперь буду читать про него, может где окажется незаменимым
блин =) у тебя trueLOR дизайн =))
за ссылку спасибо... я это вчера и вспоминал на собственных граблях =)
boost штука интересная, но ее надо очень правильно готовить, мне тут знакомый уже показывал проектик который распух до невменяемых размеров - 15тиметровый бинарник, налажал с ключиками сборки, что называется. а хотелось странного - всего-то регекспов.
а про плюсы вспоминается красивая карта alenacpp.blogspot.com/2009/06/c.html