[求助] lm3s9b96下lwip传送结构体!!!

eysdst   2011-10-11 21:52 楼主

例如结构体定义如下,

typedef struct aa{
char a1[4];
char a2;
double a4;
int a3;
}AA;
//#pragma pack()
AA aaa;

strncpy(aaa.a1,"we",2);
aaa.a2='d';
aaa.a3=5;
aaa.a4=12.2;

char buff[35];
memset((void*)buff,0,35);
memcpy(buff,(void*)&aaa,sizeof(aaa));

int length=sizeof(aaa);

 

以下无法传送

tcp_write(pcb,buff,length,0);

 

无错误提示。

再有,CCS编译器下貌似不能用#pragma pack()。

如何解决发送和接受的对齐问题????

回复评论 (4)

回复 楼主 eysdst 的帖子

CCS 用的人比较少,这个问题
点赞  2011-10-12 14:01
将#pragma pack()改成PACKED试试呢?
点赞  2011-10-12 14:08

回复 沙发 Study_Stellaris 的帖子

我也发现这个编译器超烂。。。。速度又慢!
点赞  2011-10-12 15:37

回复 板凳 sphinz 的帖子

试过了还是不行。。。郁闷中,还有就是把结构体强制转换成char*后直接就是板子死掉了。也没有任何错误提示。。。。
点赞  2011-10-12 15:45
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复