我正在开发微控制器/传感器设备的应用程序。我的问题是,以可以从其他位置引用的方式存储命名常量的最有效的内存方式是什么?理想情况下,我们希望避免在 RAM/ROM 中一遍又一遍地存储相同的值。显而易见的选择是
#define CONSTANT 0
extern int CONSTANT = 0;
const int CONSTANT = 0;
- (3. 和 4 的一些混合。)
enum ...
(对于多个常数)
同样,我想防止在内存中一遍又一遍地存储这些值。所以如果我有
if (CONSTANT == x)
{
...
}
...
y = CONSTANT;
目标是防止 CONSTANT 被存储两次。也许这是一个编译器优化问题,或者我认为这是不可能的,因为你最终不得不存储一个指针并从中读取,这使得它比一开始存储多个副本效率低。