Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Кстати, меня удивляет в чужих исходниках, например, и такое (упрощено для наглядности):
if( print_all)
printf( "%3d %-40s %5d\n", i, p->name, p->code);
else
printf( "%3d %s\n", i, p->name);
По С-шным понятиям (функция может иметь произвольное количество аргументов, стек чистит вызывающая функция, а не вызываемая) вполне можно писать
printf( print_all ? "%3d %-40s %5d\n"
: "%3d %s\n",
i, p->name, p->code );
что и код генерирует гораздо меньший (сначала заталкиваются в стек все данные для печати, потом по суловию заталкивается указатель на нужную форматную строку и вызывается printf - вместо двух комплектов формирования стекового кадра и вызова), и читается, по крайней мере мной, не хуже.
Составить ответ | Вернуться на конференцию
Ответы