Цитата(zltigo @ Jul 1 2007, 14:21)

3. "heap" тоже очень так себе.
Да вроде нормально работает. А чем плох?
Я традиционно использую FreeRTOS на всех моих проектах. И heap защищаю, переписывая stdlib.h
Что-то типа
#pragma inline
void * malloc(size_t _S)
{
void * pvResult;
vTaskSuspendAll();
pvResult = _GLUE(__DEF_PTR_MEM__,_malloc(_S));
xTaskResumeAll();
return pvResult;
}
вместо
#pragma inline
void * malloc(size_t _S)
{
return _GLUE(__DEF_PTR_MEM__,_malloc(_S));
}
и все замечательно.
Это для того, чтобы остальные исходники, которые используют heap просто включали
stdlib.h и были по возможности максимально переносимыми.
Понятно, что можно в них вместо malloc можно использовать макрос, но очень не хочется.
Цитата(zltigo @ Jul 1 2007, 14:21)

2. В IAR "файловые" функции никакой ценности не представляют, ибо болванки или обертки.
Под обертки очень удобно подсунуть свои _read(), _write() ....
причина таже, что и с heap. Но если включать прекомпилированные full библиотеки - там даже sprintf хипом пользуется, вызывая _data_malloc и включена нафиг не нужная мне поддержка wchar.
Цитата
Вполне можно обойтись без всего этого.
Можно конечно, но очень не хочется