【发布时间】:2013-02-25 00:47:05
【问题描述】:
我这里有一个很简单的问题。
我有一个全局变量的小宏,它在我的 Header 中定义,如下所示:
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 指令?
【问题讨论】:
-
“不起作用”是什么意思?而且,你为什么使用宏而不是函数?