05 2017 档案

摘要:先看代码 如何编写可变参数函数呢?我们首先来看看printf函数原型是如何定义的。在linux下,输入man 3 printf,可以看到prinf函数原型如下: 后面的三个点...表示printf参数个数是不定的.如何实现可变参数函数?2. 编写可变函数准备为了编写可变参数函数,我们通常需要用到<s 阅读全文
posted @ 2017-05-31 15:36 btgo 阅读(7215) 评论(1) 推荐(0)
摘要:在机顶盒中demux部分相对来说是比较复杂的部分,对于机顶盒软件开发的新手来说通常在这里会遇到一些困难,今天特意研究了一下驱动层代码,有一点自己的理解,因此写下来记录一下学习过程。 机顶盒中数据是如何流向的呢? 清流数据大致流向: TS流-->高频头(tuner) -->过滤(demux)-->缓冲 阅读全文
posted @ 2017-05-25 17:41 btgo 阅读(2928) 评论(1) 推荐(0)
摘要:数字电视机顶盒的工作过程大致如下: 1.高频头(Tuner)接收来自有线网的高频信号使其变为中频信号。 2.中频信号通过经滤波、放大、A/D转换为数字信号后送入QAM解调模块进行QAM解调,通过QAM解调器完成信道解码,从载波中分离出包含音、视频和其他数据信息的传送流。传送流中一般包含多个音、视频流 阅读全文
posted @ 2017-05-25 16:50 btgo 阅读(3257) 评论(0) 推荐(0)
摘要:证明: 1.输出不同的m个值: 由这个for循环循环n次,且在满足条件时才输出i,可知,输出不同值的要求已满足,因为每次输出的都是i值,而i值每次都是不一样的,m--保证了程序在输出了m个值后就不再输出i。 2.等概率: 在i=0时,rand()%(n-i)的取值范围为0到n-1,共n个数,此时要输 阅读全文
posted @ 2017-05-23 08:47 btgo 阅读(825) 评论(0) 推荐(0)
摘要:TS流,通过一个个的TS包来传送; TS包可以是传送PSI SI等各表的数据包,也可以是传送节目音视频数据(携带的PES包:音视频基本流包)的包;TS携带 PSI SI等表的数据时,各个表以各表对应的Section语法格式做为传输单元存放到TS包中 以便传输; TS包,有一个TS包的PID,系统就是 阅读全文
posted @ 2017-05-17 13:31 btgo 阅读(2691) 评论(0) 推荐(1)
摘要:Linux Source命令及脚本的执行方式解析 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如:source /etc/profile对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下。source命令:sourc 阅读全文
posted @ 2017-05-17 09:14 btgo 阅读(89097) 评论(0) 推荐(2)
摘要:原则: 1.结构体内成员按自身按自身长度自对齐。 自身长度,如char=1,short=2,int=4,double=8,。所谓自对齐,指的是该成员的起始位置的内存地址必须是它自身长度的整数倍。如int只能以0,4,8这类的地址开始 2.结构体的总大小为结构体的有效对齐值的整数倍 结构体的有效对齐值 阅读全文
posted @ 2017-05-12 15:33 btgo 阅读(205) 评论(0) 推荐(0)
摘要:数字电视的TS包和TS流的组成和功能 综合考虑几下几个因素: (1)包的长度不能过短,否则包头开销所占比例过大, 导致传输效率下降 (2)包的长度不能过长,否则在丢失同步的情况下恢复同步的 周期过长,导致较多的信息丢失 (3)其他环境相适配,如纠错编码,宽带网等。 TS包按功能分为链接头,适配域,净 阅读全文
posted @ 2017-05-12 14:26 btgo 阅读(1926) 评论(0) 推荐(0)
摘要:语言的结构体可以将不同类型的对象聚合到一个对象中,在内存中,编译器按照成员列表顺序分别为每个结构体变量成员分配内存,但由于 C 的内存对齐机制以及不同机器间的差异,各个成员之间可能会有间隙,所以不能简单的通过成员类型所占的字长来推断其它成员或结构体对象的地址。 如果要计算结构体中某成员相对于该结构体 阅读全文
posted @ 2017-05-10 14:59 btgo 阅读(4194) 评论(0) 推荐(0)
摘要:如果你是 C++ 程序员,应该接触过 C++11 里的 decltype 操作符,它的作用是自动推导表达式的数据类型,以解决泛型编程中有些类型由模板参数决定而难以(甚至不可能)表示的问题。其实这个特性在 C 语言中也早有类似的实现,GNU C 标准中的一个扩展特性 typeof (PS: 不是 ty 阅读全文
posted @ 2017-05-10 14:51 btgo 阅读(419) 评论(0) 推荐(0)
摘要:进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段。 下面我们来简 阅读全文
posted @ 2017-05-10 11:27 btgo 阅读(323) 评论(0) 推荐(0)
摘要:1、flash: 闪存,掉电之后里面的存储数据不会丢失,在嵌入式系统中用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。一般主要使用的FLASH有NOR flash和NAND flash。 NOR flash:一般小容量的用NOR因为其读取速度快,多用来存储操作系统等重 阅读全文
posted @ 2017-05-10 10:54 btgo 阅读(710) 评论(0) 推荐(0)
摘要:1、首先介绍char、wchar_t ,宽字符wchar_t和窄字符char. 窄字符char了,大家都很清楚,就是8bit表示的byte,长度固定。char字符只能表示ASII码表中的256个字符,包括前128个可见字符和后面的128个不可见字符。 宽字符wchar_t是Unicode字符的数据类 阅读全文
posted @ 2017-05-09 09:04 btgo 阅读(670) 评论(0) 推荐(0)
摘要:Qt中的QtoolTip有几个需要注意的: 1、不能直在堆或栈中生成QToolTip对象。因为其构造函数为私有。2、从widget获取的tooltip不是tooltip对象,而是tooltip中的文本。3、tooltip跟本不是一个widget。所以不把它当作widget用。4、tooltip类是一 阅读全文
posted @ 2017-05-08 17:17 btgo 阅读(6441) 评论(0) 推荐(0)
摘要:1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0 阅读全文
posted @ 2017-05-08 17:16 btgo 阅读(319) 评论(0) 推荐(0)