number007cool 发表于 2011-7-14 10:44:44

在IAR中使用_packed 定义结构体类型,总是提示出如下的错误?

typedef __packed struct
{
    Uint8 D, S;
    Uint16 type, packCheckSum;   
    Uint32 DestIP;
    Uint32 SourceIP;
    Uint16 CardType;
    Uint16 CardVery;
    Uint16 upProStat;   
    Uint16 ErrReqType;

}UPDATAFLASHPRO;


错误如下:
Error: expected a ";" E:\netDownload.h 46
Error: invalid combination of type specifiers E:\netDownload.h 66
Error: identifier "UPDATAFLASHPRO" is undefined E:\netDownload.h 93

uc_stm8 发表于 2011-7-14 10:46:27

你那里少了个;吧

number007cool 发表于 2011-7-14 12:42:19

只要用到_packed的地方,编译器就提示出错。

chinabn 发表于 2011-7-14 12:49:54

啥关键字?
IAR手册里面?

pvt 发表于 2012-6-12 10:22:09

{:cry:}{:cry:}{:cry:}

usk5yenj4id04dm 发表于 2012-6-12 12:46:09

我试了下没问题---- IAR EWARM 6.4

himm007 发表于 2012-6-13 00:44:07

为什么这么定义呢?

typedef __packed struct {
      .......
} UPDATAFLASHPRO;

标准C不是如下定义的么? typedef 后面接 struct , 下面的格式就能编译通过

typedef struct __packed {
      .......
} UPDATAFLASHPRO;

linliangqiu 发表于 2013-11-3 18:21:54

#pragma pack(1)
typedef struct
#pragma pack()
页: [1]
查看完整版本: 在IAR中使用_packed 定义结构体类型,总是提示出如下的错误?