OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3453|回复: 2

求教啊,uip中一个语句不理解啊!!!!!

[复制链接]

24

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2011-12-3
在线时间
11 小时
发表于 2013-10-16 15:10:46 | 显示全部楼层 |阅读模式
 struct httpd_state *s = (struct httpd_state *)&(uip_conn->appstate);//读取连接状态
其中
struct tcp_demo_appstate
{
u8_t state;
u8_t *textptr;
int textlen;
};  
typedef struct tcp_demo_appstate uip_tcp_appstate_t;
uip_tcp_appstate_t appstate;


struct httpd_state {
  unsigned char timer;
  struct psock sin, sout;
  struct pt outputpt, scriptpt;
  char inputbuf[50];
  char filename[20];
  char state;
  struct httpd_fs_file file;
  int len;
  char *scriptptr;
  int scriptlen;
  
  unsigned short count;
};

将结构体指针强行转换后,s指针的结构成员是如何初始化呢?难道是默认值?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-16 18:41:55 | 显示全部楼层
回复【楼主位】401968875:
---------------------------------
按结构体的结构去划分。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2013-7-19
在线时间
15 小时
发表于 2018-4-25 12:25:31 | 显示全部楼层
正点原子 发表于 2013-10-16 18:41
回复【楼主位】401968875:
---------------------------------
按结构体的结构去划分。

我也在看这个,同样的问题,我是看了源码之后才明白的,在源码提供的例程中关于webserver中:软件资料\uIP学习资料\uIP-1.0源码\apps\webserver:webserver.h文件中有一句话:[mw_shl_code=c,true]#ifndef __WEBSERVER_H__
#define __WEBSERVER_H__

#include "httpd.h"

typedef struct httpd_state uip_tcp_appstate_t;
/* UIP_APPCALL: the name of the application function. This function
   must return void and take no arguments (i.e., C type "void
   appfunc(void)"). */
#ifndef UIP_APPCALL
#define UIP_APPCALL     httpd_appcall
#endif


#endif /* __WEBSERVER_H__ */[/mw_shl_code]这里面重定义了uip_tcp_appstate_t。正确的例子应该是实用这个头文件。
@正点原子
按结构体结构去划分,也是取决于你分配的连续的存储空间足够大,也就是:
最大连接数UIP_CONF_MAX_CONNECTIONS足够大,使得uip_conns[UIP_CONNS](PS:UIP_CONNS = UIP_CONF_MAX_CONNECTIONS )这个数组足够大,就有了连续的存储空间,如果连接数为1,这样程序还能正常运行吗?越界后能确定正常初始化结构体里面的成员数据吗?

多读书,多看报,少吃零食,多睡觉
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 05:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表