找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3947|回复: 0
打印 上一主题 下一主题
收起左侧

modbus.c:861:40: warning: cast from pointer to integer of different size [-Wp...

[复制链接]
跳转到指定楼层
楼主
ID:102668 发表于 2016-1-16 03:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近写一个纯c的代码, 在vc下编译没有任何问题, 但是在gcc的MinGW下面编译结果提出如下警告:
modbus.c:861:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
modbus.c:861:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]


仔细检查发现,是如下的语句有问题,
memcpy(data + index, (unsigned char *)response_data->point_references, number_of_register * 2);

因point_references定义的是unsigned short 类型,在win32平台指针是32位的,长度不够,但是该代码是为16位平台准备的,虽然不会造成问题,但是以后也需要注意这样的问题,代码要严谨




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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