Цитата(Misile_Inc @ Feb 20 2013, 13:10)

Всякие стандарты типа MISRA запрещают использование функций, в прототипах которых есть многоточие (elipsis).
Тогда «плохой стиль с точки зрения мисры», а не «плохой стиль для embedded вообще».
Причина в том, что код с функцями с эллипсисом несколько труднее формально верифицировать, чем десять строк тупых itoa()/strlen()/put_spaces()/putstr(). Но в результате то, что можно написать одним вызовом printf, придётся писать несколькими строками вызовов разных функций и ещё неизвестно, где легче ошибку сделать как при начальном написании, так и при модификации.
А GCC, например, умеет сам ругаться на несоответствие
количества и
типов аргументов форматной строке printf (в духе «третий спецификатор для long, а туда сунули char*»). И даже про свою функцию lcd_printf(int x, int y, const char *fmt, ...) ему можно объяснить, каким аргументом идёт форматная строка и он проверит всё.