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

tcp通讯学习数据传输

 __attribute__((packed)) 的作用

这是 GCC 编译器的扩展语法(其他编译器如 Clang 也支持),用于取消结构体的内存对齐(Memory Alignment),具有以下特性:

特性说明
取消内存对齐优化强制编译器按成员顺序紧密排列,不留空隙。
节省内存空间结构体总大小为 sizeof(uint16_t) + sizeof(uint8_t) = 3字节(无填充字节)。
兼容硬件/协议要求常用于网络协议、传感器数据解析等需要精确控制内存布局的场景。
  • 默认对齐(无 packed

    typedef struct {uint16_t distance;  // 2字节uint8_t intensity;  // 1字节
    } LidarPointStructDef;
    • 实际大小可能是 4字节(编译器在 intensity 后填充 1 字节以满足对齐)。

  • packed 取消对齐

    typedef struct __attribute__((packed)) {uint16_t distance;  // 2字节uint8_t intensity;  // 1字节
    } LidarPointStructDef;
    • 实际大小严格为 3字节

http://www.lryc.cn/news/603775.html

相关文章:

  • DETR 下 Transformer 应用探讨
  • 准大一GIS专业新生,如何挑选电脑?
  • 站点到站点-主模式
  • Java 11 新特性详解与代码示例
  • JAVA中集合的遍历方式
  • 【C++】1. C++基础知识
  • 编辑距离:理论基础、算法演进与跨领域应用
  • taro+react重新给userInfo赋值后,获取的用户信息还是老用户信息
  • ERROR c.a.c.n.c.NacosPropertySourceBuilder
  • react 的 useTransition 、useDeferredValue
  • react中暴露事件useImperativeHandle
  • 【C++】判断语句
  • 多目标粒子群优化(MOPSO)解决ZDT1问题
  • 一区Top期刊 Acceptance Rate: 5%,接受率为5%
  • python的进程、线程、锁
  • StackingClassifier参数详解与示例
  • c++之链表
  • 【面试场景题】阿里云子账号设计
  • 2025年7月技术问答第4期
  • Python高效历史记录管理:保存最后N个元素的完整指南
  • Dify 从入门到精通(2/100 篇):Dify 的核心组件 —— 从节点到 RAG 管道
  • Apple: A Legendary Journey of Innovation, Business, and Global Influence
  • Apache Ignite 的分布式锁Distributed Locks的介绍
  • windows电脑截图工具怎么选 windows电脑截图工具合集整理
  • DeepSeek MoE 技术解析:模型架构、通信优化与负载均衡
  • Python与Spark
  • Linux_库制作与原理浅理解
  • vim的`:q!` 与 `ZQ` 笔记250729
  • grep常用指令
  • 【lucene】SegmentCoreReaders