Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2005-02-03

Формат рассылок

Здравствуйте.

Кто знает как сделать перемещения фигур (как в шахматных программах), и как использовать
фигуры из картинок (один файл со всеми фигурами)?

   Антон! 2005-02-03 21:59:25 (#309934)

Re: (Язык Си) Как написать макрос с неизвестным числом аргументов?

Здравствуйте, Albert.

Вы писали 3 февраля 2005 г., 17:54:21:

A> Hello comp,

A> Программа для микроконтроллера с ограниченным объемом ОЗУ.
A> Поэтому приходится извращаться и размещать строковые константы во
A> FLASH.
A> Для печати строк приходится писать:
A> ...
A> {static __flash char tmp[] = "Текст1 %i\n";printf_P(tmp,para11);}
A> ...
A> {static __flash char tmp[] = "Текст2 %f,
A> %i\n";printf_P(tmp,par21,par22);}
A> ...

A> И так по всей программе.

A> А хочется:

A> #define PRINTF_P(A,...) {static __flash char PRINTF_P_1[] = A; printf_P(PRINTF_P_1,...);}
A> //Естественно компилер не понимает многоточие
A> ...
A> PRINTF_P("Текст1 %i\n",para11);
A> ...
A> PRINTF_P("Текст2 %f, %i\n",par21,par22);
A> ...

A> Как быть?

Я плохо знаком с с/с++ но мне кажется что можно применить
переопределение функций.

   2005-02-03 19:30:08 (#309844)

(Язык Си) Как написать макрос с неизвестным числом аргументов?

Hello comp,

Программа для микроконтроллера с ограниченным объемом ОЗУ.
Поэтому приходится извращаться и размещать строковые константы во
FLASH.
Для печати строк приходится писать:
...
{static __flash char tmp[] = "Текст1 %i\n";printf_P(tmp,para11);}
...
{static __flash char tmp[] = "Текст2 %f, %i\n";printf_P(tmp,par21,par22);}
...

И так по всей программе.

А хочется:

#define PRINTF_P(A,...) {static __flash char PRINTF_P_1[] = A; printf_P(PRINTF_P_1,...);}
//Естественно компилер не понимает многоточие
...
PRINTF_P("Текст1 %i\n",para11);
...
PRINTF_P("Текст2 %f, %i\n",par21,par22);
...

Как быть?

   2005-02-03 16:14:56 (#309721)