聆风 发表于 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特性~~
页: [1]
查看完整版本: 定义结构体变量时候直接赋值