Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Enums Fujitsu Softune中枚举存储的大小缩减_Enums_Embedded_Softune - Fatal编程技术网

Enums Fujitsu Softune中枚举存储的大小缩减

Enums Fujitsu Softune中枚举存储的大小缩减,enums,embedded,softune,Enums,Embedded,Softune,使用的富士通微控制器为32位。 因此,枚举存储也是32位的。但在我的项目中,实际上枚举元素不超过256个。 是否有任何编译器选项可以缩小枚举存储的大小?您可以使用a在8个字(256位/32位字=8)中存储256个唯一值,但编译器将不再能够强制一次只设置一个位。但是,您可以很容易地编写一个包装函数,在设置之前清除所有前面的位。它可能会有点混乱,但当您在这个级别开始使用这些技巧来节省内存时,往往会发生这种情况。您可以使用预处理器宏(#define)将符号名映射到值。如果不知道您的应用程序是什么,很难

使用的富士通微控制器为32位。 因此,枚举存储也是32位的。但在我的项目中,实际上枚举元素不超过256个。
是否有任何编译器选项可以缩小枚举存储的大小?

您可以使用a在8个字(256位/32位字=8)中存储256个唯一值,但编译器将不再能够强制一次只设置一个位。但是,您可以很容易地编写一个包装函数,在设置之前清除所有前面的位。它可能会有点混乱,但当您在这个级别开始使用这些技巧来节省内存时,往往会发生这种情况。

您可以使用预处理器宏(#define)将符号名映射到值。如果不知道您的应用程序是什么,很难预测这是否合理:)

您使用什么编程语言?