Написал свой printf на основе vsprintf по совету zltigo. Примерно так
Код
int printf(const char *format, ...)
{
int len;
__Va_list ap;
va_start(ap, format);
len = vsprintf(OutTempStr, format, ap);
dbgu_cdma(OutTempStr);
va_end(ap);
return len;
}
В погоне за дальнейшим ускорением собираюсь передавать ф-ии vsprintf сразу нужную позичию в кольцевом буфере, чтоб писать сразу в буфер. Возник вопрос, как бы оценить размер того, что vsprintf нагенерирует? Есть ли какое-то ограничение на размер генерируемой строки? Просто не хочется "наезжать" на соседние данные и в то же время не хочется лишний раз копировать туда-сюда.