ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
91633 Топик полностью
Overheat (14.06.2007 13:39, просмотров: 1) ответил -=MIV=- на Так для DLIB надо int MyLowLevelPutchar(int x); прописывать а не putchar !!! и берёт он Large а не Full из диалога если ничо не указываешь !! например float и long long работать не будут ! ;) Это для IAR 4.12 Кстати Library Normal DLIB никакого
у меня IAR4.20. там надо переписывать не putchar, а size_t __write(int Handle, const unsigned char * buffer, size_t size) На счет Large и Full спорить не буду. До конца не все понимаю, но float и long работают. В том коде, который глючит ни float, ни long не выводиться. Выводиться безобидный int. А портиться озу, в котором храниться формат, т.е. вместо $02d в момемт "Ч" там находиться телефон моей бабушки. Помойму ни putchar, ни MyLowLevelPutchar ни причем, гадость происходит до них. Самое волшебное, что поставили проверку на содержимое формата до printf -> все нормально, т.е. портиться внутри printf. на время printf запретил прерывания -> все равно портиться. сделал формат глобальным -> все равно портиться. стека и хипа дохрена. Короче, не понимаю нихрена.