请教大家一个内存的问题,
比如 我定义一个 unsigned char A; 的全局变量, 程序编译完 应该是 RAM的 消耗 一个是 多了一个byte 吧!(这个应该没有异议!)
但有时为了 程序的可读性,会搞两个函数,比如
unsigned char get_A(void)
{
return A;
}
void set_A(unsigned char val)
{
A= val;
}
疑问:
1. 这样是不是 RAM 就多消耗 2 byte ?
2. 如果 void set_A(unsigned char val), 定义为 const void set_A(unsigned char val), 那是不是这个函数就不占用 RAM 呢?
3. 如果 再如下 定义 一个宏, 那么 这个宏 占用消耗 1个byte的 RAM 吗?
#define A_IS_TRUE ( TRUE == get_A() )
谢谢!
|