当前位置: 首页 > wzjs >正文

网站上的图片带店面是怎么做的写软文用什么软件

网站上的图片带店面是怎么做的,写软文用什么软件,工业设计公司怎么收费,做ps赚钱网站有哪些#pragma pack(push, 1) 和 #pragma pack(pop) 的使用场景(C语言) 这两个预处理指令用于控制结构体成员的内存对齐方式,主要在以下场景中使用: 主要使用场景 网络通信协议处理 当需要精确控制结构体布局以匹配网络协议格式时 确…

#pragma pack(push, 1) 和 #pragma pack(pop) 的使用场景(C语言)

这两个预处理指令用于控制结构体成员的内存对齐方式,主要在以下场景中使用:

主要使用场景

  1. 网络通信协议处理

    • 当需要精确控制结构体布局以匹配网络协议格式时

    • 确保结构体与协议定义的二进制格式完全一致

  2. 文件格式处理

    • 读写特定二进制文件格式(如图像、音频文件头等)

    • 确保结构体与文件中的二进制布局完全匹配

  3. 硬件寄存器映射

    • 当需要将结构体映射到特定的硬件寄存器布局时

    • 嵌入式系统中常见

  4. 与外部系统的数据交换

    • 与其他语言或系统进行二进制数据交换时

典型用法

#pragma pack(push, 1)  // 保存当前对齐方式,并设置为1字节对齐typedef struct {char id[4];int width;int height;short colorDepth;
} ImageHeader;  // 这个结构体将紧密排列,无填充字节#pragma pack(pop)  // 恢复之前的对齐设置

/*当前电流*/
#pragma pack(push, 1)
typedef struct _18E8EFF3_Frame{uint32_t                battery_calendar_life;          		    //电池日历寿命 			  精度1   单位Suint16_t                continuous_charging_current_allowed;        //BMS当前允许持续充电电流  精度0.1 单位Auint16_t                Continuous_discharge_current_allowed;       //BMS当前允许持续放电电流  精度0.1 单位A
}_18E8EFF3_Frame;
#pragma pack(pop)

/*电芯电压*/
#pragma pack(push, 1)
typedef struct _18E5EFF3_Frame{uint16_t                max_cell_volt;                              //最大电池电压 factor 0.001,offset 0   uint16_t                min_cell_volt;                              //最小电池电压 factor 0.001,offset 0uint16_t                ave_cell_volt;                              //平均电池电压 factor 0.001,offset 0uint8_t                 max_cell_volt_pos;                          //最大电池电压位置 factor 1,offset 0uint8_t                 min_cell_volt_pos;                          //最小电池电压位置 factor 1,offset 0
}_18E5EFF3_Frame;
#pragma pack(pop)

/*电压电流*/
#pragma pack(push, 1)
typedef struct _18E3EFF3_Frame{uint16_t                num_of_charge_cycles;                       //电池充电循环次数 factor 1uint8_t                 pack_soc;                                   //soc factor 0.5uint8_t                 pack_soh;                                   //soh factor 0.5int16_t                 pack_total_cur;                             //总电流 factor 0.1 A  电池包总电流(充电为负值,放电为正值)uint16_t                pack_total_vol;                             //总电压 factor 0.1 V  电池包电压            
}_18E3EFF3_Frame;
#pragma pack(pop)

为什么需要

  • 默认对齐:编译器通常会按成员大小对齐(如int按4字节边界)

  • 填充字节:编译器可能插入填充字节以实现对齐

  • 跨平台一致性:确保在不同平台上有相同的布局

注意事项

  1. 过度使用可能影响性能(未对齐访问在某些架构上较慢)

  2. 某些架构可能不支持非对齐访问(会导致硬件异常)

  3. 只应用于确实需要精确布局的结构体

  4. 确保push和pop成对出现,避免影响其他代码

这种技术虽然强大,但应谨慎使用,通常只在特定需求下才需要。

http://www.dtcms.com/wzjs/403832.html

相关文章:

  • 襄阳哪里有做网站的百度注册新账号
  • 手机做网站自己做超级优化
  • 贵阳网站建设企业网站优化排名易下拉效率
  • 个人建站建设新型网络营销方式
  • 镇平做网站国际军事新闻最新消息今天
  • 布谷海南网站建设常用的网络推广手段有哪些
  • 网站开发授权书网络推广工作内容
  • 免费搭建手机网站seo关键词分析表
  • wordpress静态文件放到cdn济南新站seo外包
  • 长春快速建站优化关键词排名优化公司
  • 市政府网站集约化建设难点厦门百度seo点击软件
  • 做网站首页的尺寸seo需要培训才能找到工作吗
  • 免费下载公司宣传册设计样本深圳百度关键字优化
  • python 做网站很快吗服装品牌策划及营销推广方案
  • 山东饰品行业网站制作花都网站建设公司
  • 杭州网站建设过程苏州seo关键词优化排名
  • 做网站设计工资多少钱深圳今天重大事件新闻
  • 北京建设工程协会网站昆明seo优化
  • 哪里有建设网站的cps广告联盟网站
  • 网站安全检测腾讯自己开网站怎么开
  • 做网站常见问题模板奶茶的营销推广软文
  • 浙江龙游今日疫情最新消息通知aso关键词搜索优化
  • 安徽平台网站建设企业营销策略是什么
  • 做论坛网站需要哪些前置审批潍坊百度快速排名优化
  • 深圳公司网站搭建公司邹平县seo网页优化外包
  • 上海房地产网站建设一个万能的营销方案
  • 网站建设 新手从seo怎么优化
  • 自己学习做网站制作网站需要什么软件
  • 网站续费如何做分录东莞seo优化方案
  • 网站怎么做网页怎么做电商平台