Я не уверен, могут ли макросы использоваться таким образом.
В моем проекте по встроенным системам я хотел бы знать, определен макрос или нет в зависимости от двух строк, которые у меня есть.
Например:
#define FAN_1 PORTAbits.RA0
#define LIGHT_1 PORTAbits.RA1
Теперь, когда я получаю запрос в виде:
char *arg1="FAN"; ("LIGHT")
char *arg2="1";
Используя эти два аргумента, я хотел бы напрямую проверить вывод, к которому подключен мой вентилятор 1, и проверить его состояние.
Мне нужен способ, чтобы мне не приходилось проверять arg1 и arg2 с помощью strcmp () или прямого соответствия.
И я могу прямо написать if(some_macro(arg1,arg2)==1){} else {}
.
Пожалуйста, укажите, возможно ли это с помощью макросов, потому что выводы могут быть определены только так.
Кроме того, если нет, то есть ли другой способ сделать это?