永发信息网

Labview建立含有数组和数值两种数据类型的结构体,应该怎么填充多余字节使字节对齐,或者用其他方法?

答案:2  悬赏:50  手机版
解决时间 2021-02-27 10:55
Labview建立含有数组和数值两种数据类型的结构体,应该怎么填充多余字节使字节对齐,或者用其他方法?
最佳答案
我是来凑够15个字的
全部回答
这个问题都很有深度啊; 首先我要说的是,字节对齐在不同编译器下语法是不一样的,在gcc中是#pragma push(1) #pragma pack(); 在ms c++中用vc的代码项里可以调整,默认是8字节; typedef struct { char c; int i; }test; 字节对齐,是对齐,比如说char 与 int 如果是4字节对齐,那么char也会占用4个字节,总共占8字节,而且结构体对象存储是按照顺序存的,char 肯定在int前面。第二种情况如果1字节对齐,意味着char只占1字节,而结下来int会占用4字节,这个n字节对齐的意思是,每个成员占用空间必须是n字节的倍数,不足n字节的占用n字节。那么以1字节对齐那它占用5个字节。 还有你说的每种数据是低位还是高位在前,这个根处理器有关,intel处理是小端对齐,比如说一个整数522387969用16进制表示是:0x1f 23 02 01,在intel处理器中表示是0x01 02 23 1f,所以在内存用0x01 02 03 1f来示522387969,这就是所谓有小端对齐;但在arm处理器中522387969表示是0x1f 23 02 01,这就是所谓的大端对齐,这种方式又叫作网络字节序。 当然前面说的字节序只是对int long short这些内置(built in)数据类型用效,对结构体内如果有int long这类成员也会有所谓的字节序,如前面所说,不管是什么序结构体对象存储是按照顺序存,先定义的成员肯定在后定义的成员前面,但单个成员有字节序,不知这样说,你的明白? 不是,请仔细体会这句话:这个n字节对齐的意思是,每个成员占用空间必须是n字节的倍数,不足n字节的占用n字节。 大于n字节就凑够n字节的倍数,比如按3字节对齐,那么一个4字节的int将占据6字节~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
乌鲁木齐至银川的飞机几个小时
继忠商店地址在什么地方,想过去办事
电脑没网,有手机和电脑,可是没路由器,电脑
请问,拉光滑水平桌面上的物体,大家都知道如果
汽车主继电器都控制什么
为什么使命召唤8进不了哦 出现这个Could not
北京工业大学实验学院-汲学楼在什么地方啊,
综漫小说有 圣痕炼金士世界的有。。。。??
铝锅中的锅巴可以吃吗
梯形ABCD中,AB平行与CD,AB=a,CD=b(a
张家口市时尚职业培训学校我想知道这个在什么
有 “自” “休” “鹤” 三字组合的一幅画猜
美国亚马逊海淘calvin klein牛仔裤w31l30尺码
宏基笔记本换主板多少钱
QQ宠物小熊怎么弄
推荐资讯
家用刮胡子的泡沫是用什么原料做的?
梦到螃蟹是什么意思
多想想 别人的好 是 合 多想想别人的坏 是 分
2000~2500以内哪种手机现在比较好点!爷们用的
跪求推荐性价比高的一千元~两千元之间的外置
梅艳芳在战神传说中唱的片尾曲叫什么
如何把支付宝里的余额转到余额宝
神经末梢释放神经递质的方式是A.单纯扩散B.经
萨客思这个地址在什么地方,我要处理点事
我种的火龙果种子怎么一直不长绒绒的小刺
阅读下面材料,按要求完成后面题。更加注重保
红衣服掉色怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?