一、 H264基础概念 SODB: 数据比特串-->最原始的编码数据 RBSP: 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若干比特“0”,以便字节对齐。 EBSP: 扩展字节序列载荷– >在RBSP基础上填加了仿校验字节(0X03 ...
分类:
其他好文 时间:
2021-07-12 18:13:50
阅读次数:
0
总结 本文对网络层要点进行总结。 网络层提供的服务 TCP/IP体系中的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限,所传送的分组可能出错、丢失、重复、失序。进程之间通信的可靠性由运输层负责。 互联网上交付的数据报种类 在互联网上 ...
分类:
其他好文 时间:
2021-07-05 18:35:17
阅读次数:
0
alignas关键字用来设置内存中对齐方式,最小是8字节对齐,可以是16,32,64,128等。 alignas用来指定对象的对齐字节数。效果和__attribute__((aligned(n)))一样 alignof用来查看对象的对齐字节数。用法类似于sizeof https://blog.csd ...
分类:
其他好文 时间:
2021-06-07 20:55:42
阅读次数:
0
什么是字节对齐,以及为什么要对齐: 计算机中内存空间都是按照字节(Byte)划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和 ...
分类:
其他好文 时间:
2021-01-16 11:49:41
阅读次数:
0
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成 ...
分类:
编程语言 时间:
2020-11-18 12:26:48
阅读次数:
5
通过使用Python struct库来解析IGMPv3报文 struct模块中的函数 函数 return explain pack(fmt,v1,v2…) string 按照给定的格式(fmt),把数据转换成字符串(字节流),并将该字符串返回. pack_into(fmt,buffer,offset ...
分类:
其他好文 时间:
2020-10-06 21:03:42
阅读次数:
59
linux中ELF格式二进制程序 目录 0. 简介 在Linux系统的可执行文件(ELF文件)中,开头是一个文件头,用来描述程序的布局,整个文件的属性等信息,包括文件是否可执行、静态还是动态链接及入口地址等信息;如下图所示: 程序文件中包含了程序头,程序的入口地址等信息不需要写死,调用代码可以通用, ...
分类:
系统相关 时间:
2020-09-17 23:59:39
阅读次数:
50
我们写的驱动程序,尽力能够运行在多个平台上(如:X86、ARM),为此,我们需要在数据类型、字节对齐、内存分页等多方面进行考虑,使我们的驱动程序有很强的可移植性。
分类:
系统相关 时间:
2020-09-07 19:21:06
阅读次数:
65
round_up.cpp内容如下: #include <iostream> using namespace std; const int kAlign = 8; // kAlign show be powers of 2, say 2, 4 ,8, 16, 32, ... const int kAl ...
分类:
其他好文 时间:
2020-07-28 13:51:52
阅读次数:
100
字节对齐:一个变量占用n个字节,则该变量的起始地址必须是n的整数倍,即存放起始地址%n=0;如果是结构体,那么结构体的起始地址是其最宽数据类型成员的整数倍;这个是cpu的要求,按照这样的存储方式,cpu查找起来会比较快,以空间来换取时间,提高程序的执行效率。 所以自己在写程序的时候,需要考虑字节对齐 ...
分类:
其他好文 时间:
2020-07-21 10:01:27
阅读次数:
79