第一种

#pragma pack(push, 1) // 先把当前对齐设置压栈,再设置为1字节对齐
struct S
{char a;int an[1];
};
#pragma pack(pop)    // 恢复先前压栈的设置

#pragma pack(push, 1)相当于
#pragma pack(push)#pragma pack(1)

第二种

#pragma pack (n)             //作用:C编译器将按照n个字节对齐。
struct S
{char a;int an[1];
}
#pragma pack ()              // 作用:取消自定义字节对齐方式

转载于:https://www.cnblogs.com/fisherman-luo/p/10335439.html

c++字节对齐编译器指令#pragma相关推荐

  1. MDK 字节对齐 __packed 与 #pragma packed区别

    这2种字节对齐我都在用,感觉没什么区别,这次又碰到了,通过查看MDK帮助文档,终于弄清楚了,这2个只有细微的差别. Comparison of a __packed struct and a #pra ...

  2. struct 字节对齐

    struct 字节对齐 一.概念 对齐:对齐与数据在内存中的位置相关.如果一个变量的内存地址正好位于它长度的整数倍,被称作自然对齐. 如在32位cpu下,假设一个int变量的地址是 0x0000000 ...

  3. 字节对齐和C/C++函数调用方式学习总结(多篇节选)

    字节对齐和C/C++函数调用方式学习总结 created: 04-06-17 last saved: author: ayixidelu 前言: <***软件编程规范>中提到:" ...

  4. Hello C(八)——内存字节对齐

    一.内存字节对齐简介 1.内存字节对齐 计算机中内存空间都是按照字节划分的,从理论上讲对任何类型的变量的访问可以从任何地址开始,但是在程序实际编译过程中,编译器会对数据类型在编译过程中进行优化对齐,编 ...

  5. 关于C++中四字节对齐的坑

    最近做一个工程,大体的意思是在程序中定义一个结构,运行中会将结构直接写到文件中,然后另一个程序会用同样的结构读出来.为了验证是写文件的程序的问题还是读文件的程序的问题,用winhex来打开文件,仿照结 ...

  6. C语言基础 - 结构体类型字节对齐总结

    一.什么是字节对齐 在计算机中,内存空间是按照字节(1B = 8 bit)划分的,每一个字节都有一个编号,这就是字节的地址.理论上可以从任意起始地址访问任意数据类型的变量,但在实际使用中,访问特定数据 ...

  7. 一文了解结构体字节对齐

    结构体字节对齐详解 表述如有不正确的地方,欢迎批评指正. C++/C 常见的基本数据类型: bool short (short int) int long (long int) long long ( ...

  8. keil+mdk+c语言,keil mdk+stm32的ac5和 ac6两个编译器下的字节对齐操作方法

    最近在使用ac6.9的编译器,编译速度是真的很快,使用stm32的hal库编译速度也比ac5的编译器快很多. 本文试验stm32中字节对齐的代码测试,主要是结构体,因为结构体中实际项目中用到最多,同时 ...

  9. C语言字节对齐 __align(),__attribute((aligned (n))),#pragma pack(n)

    转自:https://www.cnblogs.com/ransn/p/5081198.html 一.概念    对齐跟数据在内存中的位置有关.如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自 ...

  10. 什么是指令字节对齐?

    什么是对齐,以及为什么要对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各 ...

最新文章

  1. Java数据结构一 —— Java Collections API中的表
  2. cocos2d-x 3.0 Loading界面实现
  3. Python3学习笔记----环境安装及文本编辑器的选择
  4. Flash Catalyst之乱盖
  5. Gray-level Co-occurrence Matrix(灰度共生矩阵)
  6. 涵盖 14 大主题!最完整的 Python 学习实例集来了!
  7. spring事务环境搭建
  8. dwz框架中动态添加查找带回组件
  9. c语言 显示 图形界面,「分享」C语言如何编写图形界面
  10. leetcode93. 复原 IP 地址
  11. 计算机图形设计论文 真实图形生成技术的发展,绘制技术论文,关于计算机图形图像绘制技术的现状应用相关参考文献资料-免费论文范文...
  12. Pandas 求余运算
  13. 什么是云存储 API
  14. IT兄弟连 JavaWeb教程 Servlet会话跟踪 Session优缺点
  15. Binary String Constructing(CodeForces - 1003B)
  16. Java面向对象——自定义异常
  17. linux dnf教程视频,DNF的命令使用教学
  18. ANO V7上位机协议程序(新版加入DMA形式发送接收)
  19. 关于720vr 全景平台 全景图片制作系统 仿720云需要注意的坑 诚意贴
  20. 情感识别相关数据集总结

热门文章

  1. 大学生活没钱你会学习还是打工? C2 翻译有感
  2. 一名董事长给大学生的18条忠告(全)
  3. Element-UI合集之el-select
  4. Pyston v2 发布:比 Python 快 20%
  5. 新塘linux启动过程,NUC972调试笔记之NAND分区调整新增
  6. RazorPage语法介绍(二)
  7. PHP token检验
  8. PHP接口设置10分钟失效
  9. 专题四:MATLAB绘图
  10. JAVA/JNI的jstring转换为char*