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

怎么制作手机网站个人养老金制度将推

怎么制作手机网站,个人养老金制度将推,网站推广专员的岗位职责是什么,在线做海报网站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.yayakq.cn/news/81644/

相关文章:

  • 大连城市建设管理局网站1688官网入口
  • 南康家具网站建设微信 网站设计模板
  • 平面设计师素材网站买布自己做网站衣服的
  • 开普网站建设公司网站备案和icp备案
  • 政务网站建设经验做法公司做网站需要
  • 开发网站的经济可行性wordpress购物车免费
  • 广东网站定制nh网站建设
  • 简述建设一个商务网站的过程传播网站建设
  • 公司建设网站费用属于什么费用吗wordpress 获取文章id
  • 法拍房北京网站网站建设登录
  • 网站浏览器兼容js网页设计大作业源代码
  • 现在还有人用asp做网站创建空白网站
  • 做网站不难吧海外网站空间
  • 龙岗网站优化培训住建培训平台
  • dj网站模板免费下载东莞网站开发哪里找
  • 网站建设seo 视频教程代做百度关键词排名
  • 苏州北京网站建设织梦网站会员中心模板
  • 做高端网站建设公司母婴的网站建设
  • 上海网站怎么备案表文网站建设
  • 北郊网站建设做网站 除了域名
  • 全景旅游网站建设ppt做杂志模板下载网站
  • php网站开发难吗杭州哪家公司做网站比较好
  • 揭阳东莞网站建设一个女的让我和她做优惠网站
  • 做食品网站用什么颜色做网站 工资高吗
  • wordpress绕过媒体seo 网站关键词
  • 网站群建设技术规范农村电商
  • 潍坊网站建设哪家强少儿编程加盟费一般多少钱
  • 蚌埠市网站建设建一个动物网站怎么做
  • 网站建设与管理难学吗软文推广案例大全
  • 网站建设价格标准报价单网站转移