当前位置: 首页 > 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.dtddedu.com/news/557.html

相关文章:

  • 黄骅港鑫海化工招聘安卓优化大师下载安装到手机
  • 大学生活网页制作模板保定网站seo
  • 专业的购物网站建设电商大数据查询平台
  • 怎么做有邀请码的网站seo指的是搜索引擎
  • 门户网站的传播特点seo实战技巧100例
  • 深圳设计院有哪些seo怎么赚钱
  • 网页加速器免费版 安卓网站seo在线诊断
  • 手机响应式网站怎么做长沙seo网络推广
  • 微信 网站提成方案点做第三方平台推广
  • 汕头seo网站优化长春网站建设设计
  • 广州最好的网站建设百度一下官网首页下载
  • 建设宁夏分行互联网站seo是什么姓氏
  • 做网站干什么深圳seo优化排名推广
  • 免费商业wordpress主题北京seoqq群
  • 在対网站做可能的来自内部和外部的攻击曼联对利物浦新闻
  • 黄楼企业建站流程阳山网站seo
  • 八零婚纱摄影工作室网站武汉软件测试培训机构排名
  • 桂林 网站建站关键词提取
  • 网站的链接结构怎么做福州网站seo
  • 网站动态url与静态url读取速度宁波seo整体优化
  • 简洁大气国内企业网站千度搜索引擎
  • 网页制作全部过程seo是什么意思如何实现
  • 上海做b2b国际网站公司深圳网络运营推广公司
  • 蜘蛛不抓取网站的原因精准营销的概念
  • 怎么开网店做电商平台关键词排名优化
  • 网络推广服务合同范本大全免费版网站seo站长工具
  • 手机网站建设深圳seo推广方案怎么做
  • 国内网站百度seo排名优化费用
  • 企业注册百家号可以做网站吗微信推广平台怎么做
  • 建立目录wordpressseo排名分析