免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: wuzen007
打印 上一主题 下一主题

[C++] 结构体问题 [复制链接]

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
31 [报告]
发表于 2013-11-25 16:57 |只看该作者
本帖最后由 yulihua49 于 2013-11-25 17:07 编辑
u010402865 发表于 2013-11-25 16:44
都是纯粹的二进制文件,怎么读不出来?

读的出来,
看起来相同的结构,在X86和IBM上,位置和数值都不对。
相同的time_t,在X86上是最低位在前,IBM、java都是最高位字节在前。
大小头,没听说过?
如果用X86 pack格式,在IBM上,读完了,要拷贝到正规结构才能使用,拷贝时要调整大小头和边界对齐。
讨厌的是double,有些机器不是IEEE格式,你还要转格式。
通用的拷贝程序,又要反射了。

论坛徽章:
0
32 [报告]
发表于 2013-11-25 17:22 |只看该作者
本帖最后由 u010402865 于 2013-11-25 17:23 编辑
yulihua49 发表于 2013-11-25 16:57
读的出来,
看起来相同的结构,在X86和IBM上,位置和数值都不对。
相同的time_t,在X86上是最低位在前, ...

做这样跨平台的程序大小端当然要考虑,不只是这种情况。说了半天,你只是担心这种跨平台的情况,想让人信服反射的作用,还是没有说服力啊。
如果在同种体系的系统上不还是用我的方式轻松解决LZ的问题。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
33 [报告]
发表于 2013-11-25 19:42 |只看该作者
本帖最后由 yulihua49 于 2013-11-25 19:53 编辑
u010402865 发表于 2013-11-25 17:22
做这样跨平台的程序大小端当然要考虑,不只是这种情况。说了半天,你只是担心这种跨平台的情况,想让人信 ...

是啊,没有反射也过这么久了,但不能说反射没用。

跨平台只是举个例子,还有方方面面的工作与通用结构处理有关。
你用数据库吗?对每个SQL语句都要做一大套类似的繁琐的操作,反感吗?
如果每个SQL语句都对应一个结构,里边有结果集变量,查询条件变量,要插入或修改数据库的变量,用一个公用的程序处理这些变量是不是会方便许多?
那么这个公用程序怎么写呢?他怎么知道你结构里有啥?SQL语句里哪个变量对应结构的哪个变量?这个又需要反射了。

讨论这个题目,给楼主走题了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP