导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→移植uip协议栈时,大家遇到过“边界不对齐,大/小端,存储缝[anfengmz]

 *第37077篇: 移植uip协议栈时,大家遇到过“边界不对齐,大/小端,存储缝隙”这种问题吗?

  
楼 主:anfengmz 2006年1月11日12:01
 移植uip协议栈时,大家遇到过“边界不对齐,大/小端,存储缝隙”这种问题吗?
移植uip协议栈到ARM时,大家遇到过“边界不对齐,大/小端“,或叫” 存储缝隙”这种问题吗?例如下面:

struct arp_hdr {
  struct uip_eth_hdr ethhdr;
    
  u16_t hwtype;
  u16_t protocol;
  u8_t hwlen;
  u8_t protolen;
  u16_t opcode;
  struct uip_eth_addr shwaddr;
  u16_t sipaddr[2];
  struct uip_eth_addr dhwaddr;
  u16_t dipaddr[2]; 
};

这里uip定义了一个嵌套的结构,另外有:#define BUF   ((struct arp_hdr *)&uip_buf[0])

uip_buf是已经预先定义的un char类型的缓冲区,但是调试显示 sizeof(BUF->  ethhdr) 不等于14,我查了书,好象这是C语言中的边界不对齐问题,请问高手,我能否改变我的编译器设置就解决这个问题?谢谢!!


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:谁有CPLD与24C02的测试程序???

[下一篇主题]:提供三星半导体器件,包括TFT-LCD,ARM,FLASH。