小编Ahm*_*iem的帖子

可以在嵌入式系统固件中使用位域吗?

我看到一些嵌入式系统固件书籍/文章建议不要使用 C 的结构位域,因为它不可移植。我知道顺序和填充是实现定义的,但是使用位域总是不可移植的吗?
我的意思是,例如,如果我为 8 位微控制器驱动程序定义了一个配置结构,如下所示:

typedef struct
{
  int channel_name :3 ; /*7 possible channels*/
  int Enable :1 ;  /*if 1 enable,otherwise disable*/
  int Mode;
} conf_t 
Run Code Online (Sandbox Code Playgroud)

我不明白在这种情况下,实现定义的行为如何引发可移植性问题,谁能解释一下?

c embedded

1
推荐指数
1
解决办法
227
查看次数

标签 统计

c ×1

embedded ×1