⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000006.htm

📁 水木社区 embeded 版精华区 下载
💻 HTM
字号:
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>Re: 请教TCP/IP在uC/OS-II的实现         turbolinux </title></head><body><center><h1>BBS 水木清华站∶精华区</h1></center><a name="top"></a>发信人:&nbsp;threewater&nbsp;(三水),&nbsp;信区:&nbsp;Embedded&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;请教TCP/IP在uC/OS-II的实现&nbsp;<br />发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Sun&nbsp;Oct&nbsp;&nbsp;6&nbsp;00:43:36&nbsp;2002),&nbsp;站内信件&nbsp;<br />&nbsp;<br />__packed应该是编译器的关键字吧。&nbsp;<br />&nbsp;<br />比如:&nbsp;<br />typedef&nbsp;struct&nbsp;<br />{&nbsp;<br />&nbsp;&nbsp;char&nbsp;x;&nbsp;<br />&nbsp;&nbsp;int&nbsp;y;&nbsp;<br />}struct1;&nbsp;<br />&nbsp;<br />typedef&nbsp;__packed&nbsp;struct&nbsp;<br />{&nbsp;<br />&nbsp;&nbsp;char&nbsp;x;&nbsp;<br />&nbsp;&nbsp;int&nbsp;y;&nbsp;<br />}struct2;&nbsp;<br />&nbsp;<br />在32位的ARM&nbsp;SDT编译器中,编译&nbsp;<br />sizeof(struct1)==8&nbsp;<br />sizeof(struct2)==5&nbsp;<br />&nbsp;<br />而处理数据包的时候,lwip使用的就是那种通过结构体指针转换,&nbsp;<br />读取相应的数据的,所以,一定要在定义struct的时候使用__packed。&nbsp;<br />&nbsp;<br />似乎,lwip也考虑到了这个问题,所以,在它的结构体定义中&nbsp;<br />有几个宏。好像是什么PACKED_FIELD_xxx之类的,默认的时候&nbsp;<br />这几个宏都是空的,可以在移植的时候添加到不同的编译器所需要&nbsp;<br />的__packed上。可是,一旦定义了__packed的结构体,在使用上&nbsp;<br />会有很多麻烦。就是因为数据没有32位对齐,操作的时候会出问题。&nbsp;<br />我觉得这个应该是ARM&nbsp;SDT编译器的问题。&nbsp;<br />&nbsp;<br />&nbsp;<br />【&nbsp;在&nbsp;wohaha&nbsp;(我FAINT故我在)&nbsp;的大作中提到:&nbsp;】&nbsp;<br />∶<i>&nbsp;没有明白你的问题,_packed是谁的关键字,C语言的(我好像不太知道,惭愧)?&nbsp;</i><br />&nbsp;<br />&nbsp;<br />--&nbsp;<br />人生最大的痛苦就是&nbsp;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;想买的芯片买不到&nbsp;<br />&nbsp;<br />&nbsp;<br />※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.edu.cn·[FROM:&nbsp;61.181.54.235]&nbsp;<br /><a href="00000005.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一页</a><a href="index.htm">回到目录</a><a href="#top">回到页首</a><a href="00000007.htm">下一篇</a></h1></center><center><h1>BBS 水木清华站∶精华区</h1></center></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -