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

建个微商城网站多少钱杭州余杭区抖音seo质量高

建个微商城网站多少钱,杭州余杭区抖音seo质量高,新能源汽车价格,广东商城网站建设报价1、结构体位段格式 struct struct_name {type [member_name] : width; };一般定义结构体,成员都是int、char等类型,占用的空间大小是固定的在成员名称后用冒号来指定位宽,可以指定每个成员所占用空间,并且也不用受结构体成员起始…

1、结构体位段格式

struct struct_name {type [member_name] : width;
};
  • 一般定义结构体,成员都是int、char等类型,占用的空间大小是固定的
  • 在成员名称后用冒号来指定位宽,可以指定每个成员所占用空间,并且也不用受结构体成员起始地址对齐的限制

2、通过代码分析

2.1、不使用结构体位段

在这里插入图片描述

2.2、使用结构体位段

在这里插入图片描述

2.3、代码分析

  • 得到汇编代码的命令:
    • riscv64-unknown-elf-gcc test.c
    • riscv64-unknown-elf-objdump -dS ./a.out > test.dis
  • 2.1和2.2中的C语言代码除了结构体是否使用位段定义的区别外,并没有其他区别,但是通过反汇编文件可知,使用了结构体位段翻译出的汇编语句会更多
  • 使用了结构体位段,每个结构体所占空间会更少
  • 使用结构体位段,本质上就是降低C代码程序员的编程难度,将部分工作交给编译器完成
    • 比如上面的例子,使用结构体位段后,不同成员的位宽不一样,编译器在将C代码转换成汇编代码时,就会添加一些移位操作、与或操作,这些操作C代码程序员自己来完成也是可以实现的

3、结构体位段的优劣势

  • 使用位段的优势:
    • 结构体的大小比较小,成员排布紧密,定义结构体变量时所占空间小,可以节省内存
    • 使用位段,只是结构体定义有差别,对于访问结构体成员变量的方式并没有区别
  • 使用位段的劣势:
    • C语言代码虽然并没有区别,但是编译出的汇编代码会更多,编译出的elf/bin文件会更大
  • 位段合适的使用场景:
    • 设备的flash比较大,ram比较小:
      • 可以接受烧录文件大一些,但是希望变量占用的内存小一些
      • 相同功能,使用位段后要执行的汇编代码会更多,性能也会有下降
    • 用于协议头解析:
      • 在通信中,协议头解析是很常见的,有的协议头就是每个字段占几个bit,如果使用char、int等常规变量类型类定义结构体,无法和协议头的内容保持对齐
      • 按照协议头中各字段所占的bit位来定义结构体位段,可以很方便的解析出协议头中各字段的数值,C代码写起来简单易懂
http://www.ritt.cn/news/28320.html

相关文章:

  • 源码站用dz wordpress全国疫情的最新数据
  • 房地产怎么做网站推广市场营销方案怎么做
  • pandorabox做网站软文写作兼职
  • 西安注册公司网站网站域名ip查询
  • 激励案例网站制作淘宝店铺如何推广
  • 网站建设如何做好整体色彩搭配企业如何建立网站
  • 文旅开发公司东莞百度seo新网站快速排名
  • 毕业设计网站开发类题目搜索引擎优化关键词
  • 网站如何留言百度的企业网站
  • discuz绿色带门户手机网站模板seo点击工具帮你火21星热情
  • 新手做网站买服务器怎样宣传自己的品牌
  • 公司形象墙设计制作旺道seo推广有用吗
  • 我想做个门户网站怎么做平台推广广告宣传词
  • 大专的动漫制作真的不好吗廊坊快速优化排名
  • 我现在有域名怎么做网站漳州seo网站快速排名
  • 设计坞网站官方下载如何分步骤开展seo工作
  • 北京网站推广服务国内新闻最新消息今天简短
  • web网站开发案例百度平台客服联系方式
  • 制冷 网站建设 中企动力对seo的认识和理解
  • 网页设计模板图片下载班级优化大师功能介绍
  • 网站 个人 公司 区别免费大数据分析网站
  • 售后好的品牌策划公司宣城网站seo
  • 代价网站建设网站关键词查询网址
  • 有没有专门做素食的美食网站口碑营销案例简短
  • FLASK做wiki网站全媒体广告代理
  • 直接用ip访问网站要备案吗谷歌推广怎么做
  • 浏览器网站免费进入廊坊seo推广公司
  • 做网站四百全包快手流量推广免费网站
  • c 网站开发调试重庆seo培训
  • 深圳珠宝网站设计如何免费做网站推广的