搜索
bottom↓
回复: 11

请大虾给我求个解指针错乱问题(已解决)

[复制链接]

出0入0汤圆

发表于 2019-6-22 20:45:55 | 显示全部楼层 |阅读模式
本帖最后由 Srl6 于 2019-6-22 21:46 编辑

最近在搞个软件,不知为什么会因为指针错乱,非常不解。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-6-22 20:51:46 | 显示全部楼层
结构体成员对齐的问题

出0入0汤圆

 楼主| 发表于 2019-6-22 21:15:56 | 显示全部楼层
Zphoenix 发表于 2019-6-22 20:51
结构体成员对齐的问题

怎样才能用ARP的定义指针不错乱

出0入0汤圆

 楼主| 发表于 2019-6-22 21:20:31 | 显示全部楼层
Zphoenix 发表于 2019-6-22 20:51
结构体成员对齐的问题

我是自学了C的,对C不太会活用。

出0入0汤圆

 楼主| 发表于 2019-6-22 21:33:09 | 显示全部楼层
Zphoenix 发表于 2019-6-22 20:51
结构体成员对齐的问题

#pragma pack(2)

struct ARP_Header        {
                u16 ARP_HWType;
                u16 ARP_PRType;
                u8 ARP_HWLen;
                u8 ARP_PRLen;       
                u16 ARP_Op;
                u8 ARP_Smac[6];
                u32 ARP_Sip;
                u8 ARP_Tmac[6];
                u32 ARP_Tip;
};


这样子定义问题解决。感谢感谢!!!!!

出0入0汤圆

 楼主| 发表于 2019-6-22 21:33:42 | 显示全部楼层
jswd0810 发表于 2019-6-22 21:24
楼主改一下字体吧,注意版规

哦,好的。

出330入0汤圆

发表于 2019-6-22 21:42:26 来自手机 | 显示全部楼层
Srl6 发表于 2019-6-22 21:33
#pragma pack(2)

struct ARP_Header        {

调整一下结构体内部成员的摆放位置就可以解决。

出0入0汤圆

 楼主| 发表于 2019-6-22 21:45:34 | 显示全部楼层
zcllom 发表于 2019-6-22 21:42
调整一下结构体内部成员的摆放位置就可以解决。

不能改变位置。位置是对应了TCP 的ARP应答

出0入0汤圆

发表于 2019-6-23 14:02:28 | 显示全部楼层
楼主是如何解决的呢?

出0入0汤圆

 楼主| 发表于 2019-6-24 14:14:42 | 显示全部楼层
tyustli 发表于 2019-6-23 14:02
楼主是如何解决的呢?

#pragma pack(2)//增加这个

struct ARP_Header        {
                u16 ARP_HWType;
                u16 ARP_PRType;
                u8 ARP_HWLen;
                u8 ARP_PRLen;        
                u16 ARP_Op;
                u8 ARP_Smac[6];
                u32 ARP_Sip;
                u8 ARP_Tmac[6];
                u32 ARP_Tip;
};

出0入0汤圆

发表于 2019-6-24 15:04:26 | 显示全部楼层
typedef __packed  struct _a{

}a;
也可以这样,按一字节对齐
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 12:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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