довольно простая проблема у меня есть.C-Macro in if-Condition
У меня есть небольшой макрос для глобальной переменной, которая определена в моем заголовке, как это:
extern bool uart_message_received;
#define get_uart_message_rec() uart_message_received;
В моей C-файл, который я хочу, чтобы получить доступ к файлу, как это:
bool uart_message_received = 0;
void foo(void)
{
bool test;
test = get_uart_message_rec(); // Works fine
if(get_uart_message_rec()==0) // Doesn't work
{
//...
}
}
Я немного смущен, почему состояние в if
не работает. Я что-то делаю неправильно, или я нарушаю некоторые директивы C?
Что вы имеете в виду под «ли работать»? И почему вы используете макросы вместо функций? –