我正在为 16 位微处理器编写一些代码。我的内存非常有限,只有 128 KB。MSP430 的 IAR C/C++ 编译器 我需要实现一些代码来节省一些内存。
我试图用这个 C 特性实现来实现它。
struct {
unsigned int widthValidated : 1;
unsigned int heightValidated : 1;
} status;
但有了这段代码,我仍然只使用 16 位字的 1 位。
我的目标是为两个 8 位变量使用相同字长的内存位。第一个变量应该在第二个变量的左边 8 位。
struct {
unsigned int widthValidated : 8; //8 bits for this
unsigned int heightValidated : 8; // 8 left over for this
} status;
这可能吗?是否有任何实现,或者 C 中是否有为此的库?我该怎么做呢?