首页 > 其他分享 >C语言中 #pragma pack()

C语言中 #pragma pack()

时间:2023-07-10 19:13:57浏览次数:39  
标签:字节 字节数 栈顶 C语言 pragma 对齐 pack

#pragma  pack

 

    这条指令主要用作改变编译器的默认对齐方式。

 

pragma pack(show)      //显示当前内存对齐的字节数,编辑器默认8字节对齐
    #pragma pack(n)         //设置编辑器按照n个字节对齐,n可以取值1,2,4,8,16
    #pragma pack(push)      //将当前的对齐字节数压入栈顶,不改变对齐字节数
    #pragma pack(push,n)    //将当前的对齐字节数压入栈顶,并按照n字节对齐
    #pragma pack(pop)       //弹出栈顶对齐字节数,不改变对齐字节数
    #pragma pack(pop,n)     //弹出栈顶并直接丢弃,按照n字节对齐
    *********************************************************************/
     
     
    #pragma pack(1)                             //设置内存按照1个字节对齐
     
    typedef stuct                               //声明结构体
    {
        char           SeriesNumber[16];        //结构体成员
        unsigned byte  minDelta;                //结构体成员
        float          FilterGauss;             //结构体成员
    } Param;                                    //结构体名称为Param
     
    #pagma pack()                               //恢复内存按照8字节对齐

标签:字节,字节数,栈顶,C语言,pragma,对齐,pack
From: https://www.cnblogs.com/lidabo/p/17542042.html

相关文章

  • sqlite优化 PRAGMA 命令
    sqlite优化PRAGMA命令 PRAGMAcommand 是一个特殊的命令。它用于修改 SQLite 库操作或查询库以取得内部(非表)数据。PRAGMA命令可以使用与其它SQLite命令(如SELECT、INSERT)相同的接口,只在有如下几个重要方面有所不同:pragma接受一个整数值 value 或一......
  • c语言学习2
    一、数据类型为什么要对数据进行分类?1、现实中的数据就是自带类别属性的2、对数据进行分类可以节约内存存储空间、提高运行速度存储空间的单位:Bit比特存储一个二进制位,只能存储0或者1,计算机存储数据的最小单位Byte字节存储八个二进制位,计算机存储数据的基本单位Kb102......
  • 如何用C语言实现多态?
    多态(Polymorphism)是指面向对象程序运行时,相同的消息可能会送给多个不同的类之对象,系统依据对象所属类,引发对应类的方法,而有不同的行为。简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作。在C语言中,可以通过结构体和指针来实现多态。以下是通过结构体和指针实现多态......
  • java入门概念个人理解之package与import浅析
    java入门概念个人理解之package与import浅析由于近来学习java,遇到了一些在c++上没有的概念,将它记http://录下,以自己复习使用,如有不理解妥之处,望大家批评指导。资料均由网上经过自己整合理解而来,如有侵权请通知我将起删除即可。我就以package与import开始吧。package的作用其实就是......
  • vscode 远程 开发 centos7 c语言
    本地vscode,搭建centos7的c语言开发环境远程主机一台或本地虚拟主机一台;本地电脑需要安装vscode的软件,vscode下载链接;vscode需要安装remote-ssh插件*vscode的debug参考文档远程主机安装gccyuminstall-ygccgdb查看gcc是否安装成功,gcc-vvscode用远程开发工具链接......
  • c语言刷dfs和bfs合集(含回溯)
    目录1.dfs和bfs区别,解决不同的问题2.bfs3.dfs1.dfs和bfs区别,解决不同的问题通常来说,BFS适用于求最短路径,DFS用来解决最长匹配、连通性这些问题比较方便【例1】1091.二进制矩阵中的最短路径链接1:https://leetcode.cn/problems/shortest-path-in-binary-matrix/solution/......
  • C语言:数据结构之单链表(二)
    上一篇随笔谈了谈单链表是什么东西,然后进行了初始化,这篇随笔就开始对其进行操作了,首先是增,删,改,查的增。增,顾名思义就是要增加新的元素,单链表是链式的,那就要考虑怎么去加新元素,有三种,从头部添加,从尾部添加,从中间添加。先说说从尾部添加,这个比较好理解,直接在尾部放一个结点......
  • VMware:Package vim is not available, but is referred to by another package.
    出错语句在ubuntu中输入sudoapt-getinstallvim安装vim时出现如下错误语句Readingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DonePackagevimisnotavailable,butisreferredtobyanotherpackage.Thismaymeanthatt......
  • C语言单例模式
    单例模式的定义​ 单例模式的需求是保证在代码的整个运行期间,某种数据类型只有一个唯一的实例子。并且提供一个全局的访问接口。我们可以从两个角度来理解单例模式数据类型有且仅可以创建一个实例,编程人员不可以的随意的定义的此类型的实例。我们必须限制这种数据结构的创建。......
  • Python 引用问题 - ImportError: attempted relative import with no known parent pa
    问题描述近日在尝试引用其他文件的代码时,遇到了错误:ImportError:attemptedrelativeimportwithnoknownparentpackage.问题大致是这样的:我想在code2.py中引用code1.py的函数,如from..folder1.code1importxxx,运行code2.py时出现错误。root├──folder1│......