реклама на сайте
подробности

 
 
> Параметр макроса С, изменение макроса по передаваемому параметру
Dimentius
сообщение Aug 1 2007, 09:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980



Как правильно написать макрос со структурой, зависящей от параметра?
Например, для циклов ожидания.

Вот такая конструкция НЕПРАВИЛЬНАЯ, но смысл должен быть понятен :

#define DELAY(N)\
#if (N == 1)\
NOP;\
#elif (N > 1)\
delay_cycles(N>>1);\
#endif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
WiseAlex
сообщение Nov 22 2007, 15:12
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 9-11-06
Пользователь №: 22 115



boost::preprocessor
там есть и IF и прочее (вплоть до циклов (мне даже приходилось делать вложенные smile.gif ) )
если лень таскать целый целый boost можно практически безболезненно выдрать пару файлов из preprocessor и в путь
--
основная идея в следующем

#define if0(Param1,Param2) Param2
#define if1(Param1,Param2) Param1
#define if2(Param1,Param2) Param1
...

#define if(N,b,c) if##N(b,c)

Сообщение отредактировал WiseAlex - Nov 22 2007, 15:13
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 02:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016