定义结构体变量时候直接赋值

[复制链接]
 楼主| 聆风 发表于 2009-12-14 15:45 | 显示全部楼层 |阅读模式
我想定义一个结构体时候. 直接赋值. 比如
static const struct proto_ops netlink_ops = {
.family = PF_NETLINK,
.owner = THIS_MODULE,
......
  .mmap =  sock_no_mmap,
.sendpage = sock_no_sendpage,
};
在ADS下面不可以在定义一个结构体变量时候直接赋值. 请问IAR for ARM或keil for ARM下面可以吗?
 楼主| 聆风 发表于 2009-12-14 15:59 | 显示全部楼层
没说清楚. 我的意思是一个结构体有A.B.C.D四个成员.
我定义该结构体时. 只想给A.B两成员赋数值(不是一次性全部赋数值).
HWM 发表于 2009-12-14 16:17 | 显示全部楼层
结构赋初值应该是:

......= {Init_A,Init_B,Init_C,Init_D};

不愿意全赋可以塞个零或缺省。
nckdone 发表于 2009-12-15 16:29 | 显示全部楼层
IAR或KEIL下是可以这么用的,
 楼主| 聆风 发表于 2009-12-15 17:10 | 显示全部楼层
用了HWM的方法. OK. linux下
static const struct data_queue_desc rt73usb_queue_bcn = {
        .entry_num                = 4 * BEACON_ENTRIES,
        .data_size                = MGMT_FRAME_SIZE,
        .desc_size                = TXINFO_SIZE,
        .priv_size                = sizeof(struct queue_entry_priv_usb),
};
在IAR或Keil下不行.
 楼主| 聆风 发表于 2009-12-15 17:10 | 显示全部楼层
用了HWM的方法. OK. linux下
static const struct data_queue_desc rt73usb_queue_bcn = {
        .entry_num                = 4 * BEACON_ENTRIES,
        .data_size                = MGMT_FRAME_SIZE,
        .desc_size                = TXINFO_SIZE,
        .priv_size                = sizeof(struct queue_entry_priv_usb),
};
在IAR或Keil下不行.
一朝成名 发表于 2009-12-15 17:26 | 显示全部楼层
有一些是GCC特性~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

171

主题

559

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部