首页 > 系统相关 >字节内存对齐问题

字节内存对齐问题

时间:2022-12-26 11:36:58浏览次数:41  
标签:12 字节 PSTUDENT 数组 st 内存 st1 对齐 szBuf

编译指示强制一字节对齐:

复制代码
#pragma pack(push,1)
struct s
{
        int a;
        char ;
};
#pragma pack(pop)
复制代码

一些结构体转字符数组和字符数组转结构体操作:

复制代码
好像叫结构体序列化
结构体与字符数组相互转换,例如:
typedef struct __STUDENT
{
int iAge;
int iYear;
int iMonth;
}STUDENT,*PSTUDENT;
结构体-->字符串数组 ,方法一
PSTUDENT st = NULL;
st = (PSTUDENT)new char[12];
memset(st,0,12);
st->iAge = 12;
st->iMonth = 14;
st->iYear = 100;
CHAR szBuf[13] = {0};
memcpy(szBuf,st,12);
delete st;
st = NULL;
结构体--->字符串数组 ,方法二
STUDENT st;
st.iAge = 12;
st.IMonth = 12;
st.iYear = 1990;
CHAR szBuf[13] = {0};
memcpy(szBuf,&st,12);
字符串数组--->结构体
PSTUDENT st1 = NULL;
st1 = (PSTUDENT)szBuf;
CString str;
str.Format("%d %d %d",st1->iAge,st1->iMonth,st1->iYear);
MessageBox(str);
复制代码

标签:12,字节,PSTUDENT,数组,st,内存,st1,对齐,szBuf
From: https://www.cnblogs.com/kn-zheng/p/17005306.html

相关文章

  • strcore.cpp内存泄露
    detectmemoryleak!f:/rtm/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141)  ......查看output窗口,程序中不知何时出现了内存泄露的问题。经过一阵排查,发现是......
  • dd 命令检查服务器磁盘性能以及内存健康检查
    查看磁盘IOsudotimeout60ddif=/dev/zeroof=/root/a.datbs=8kcount=20Koflag=direct查看内存是否损坏grep"[0-9]"/sys/devices/system/edac/mc/mc*/csro......
  • C#-exe间通讯(二)-共享内存
    一、共享内存的帮助类/***┌──────────────────────────────────────────────────────────────┐*│......
  • AIR32F103(七) AIR32F103CBT6/CCT6启用96K内存
    目录AIR32F103(一)合宙AIR32F103CBT6开发板上手报告AIR32F103(二)Linux环境和LibOpenCM3项目模板AIR32F103(三)Linux环境基于标准外设库的项目模板AIR32F103(四)2......
  • 共享内存
             ......
  • 从一道CTF题学习python字节码到源码逆向
    概述:该题来源为2022爱春秋冬季赛ezpython,难度不是很大刚好适合我这样的萌新入门题目:30LOAD_CONST1(204)3LOAD_CONST......
  • 字节顺序
    字节顺序是指一个字中各个字节的顺序,有大端模式和小端模式。大端模式是指在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式是指与大......
  • 数据对齐
    对齐是内存数据与内存中的相对位置相关的话题。一些体系结构对对齐的要求非常严格。通常基于RISC的系统载入未对齐的数据会导致处理器陷入(一种可处理的错误);还有一些系统可......
  • 动态内存
    malloc/freevoid*malloc(size_tnum)voidfree(void*p)malloc函数只关心申请的内存的大小。malloc申请到的是一块连续的内存,有时可能会比所申请的空间大。其有时会......
  • 堆内存的分配与释放
    当程序运行到需要一个动态分配的变量或对象时,必须向系统申请取得堆中的一块所需大小的存贮空间,用于存贮该变量或对象。当不再使用该变量或对象时,也就是它的生命结束时,要显......