自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yingmuliuchuan的博客

多媒体领域小小程序员一枚

  • 博客(104)
  • 资源 (8)
  • 收藏
  • 关注

原创 C++ &究竟是引用还是取地址的简单明了的方法

&(引用)  给变量起一个别名,减少数据copy&(取地址) 就是获取变量的地址那么怎么简单快速区分呢?&(引用) 永远是和类型一起                 &(取地址)是和变量在一起简单举个例子:int a = 100;int &b =a;引用int *p = &a;取地址 ...

2018-12-31 16:06:38 625

翻译 Learning C++ 之 2.10 第二章的综合问题

快速预览:int用来保存整数,当使用整型的时候,一定要注意溢出和除法的问题。当不考虑整数的size的时候,使用int就够了。当整型的精度很重要的时候(或者由于范围或者内存的限制),建议使用定宽整型。float用来保存实数,也就是带有小数的数字。当使用浮点型的时候,要注意精度问题,舍入误差和比较问题。Boolean类型的值只有真或者假,它的使用没有什么大问题。Char类型是可以被翻译...

2018-08-19 12:08:02 220

原创 Android Tunnel Mode

在最新的Android版本上(AndroidO)为了降低播放4K60FPS片源对整机性能的过度消耗,Android出现了一种新的视频播放模式Tunnel Mode。下面是关键的几步适配Tunnel Mode的方式:1.需要Audio SessionID,这个是由Audio Manager生成的audioSessionId = ((AudioManager)ctx.getSystemS...

2018-08-18 12:29:46 4276

原创 Ubuntu18.04 编译FFMPEG

因为项目中需要做直播业务,因此需要自己搭建简单的直播服务器。现在用的最多,而且简单的基本上都是ffserver,可惜ffmpeg官网只有编译好的ffplay,ffmpeg,ffprobe可以使用。ffserver得自己编译。因为自己用的是win10系统,所以自然得从装虚拟机,装Ubuntu,下载编译ffmpeg。下面是折腾了一天的简答经验介绍:1.虚拟机,网上随便搜,我这里装的是vmware1...

2018-08-12 15:10:13 3410 1

转载 一步到位搭建直播推流服务器

这段时间与视频,直播相关的技术不可谓不热,今天我们就近距离接触下,尽早搭上这班车!我们先看一张效果图  左边是OBS 推流端,右边是VLC播放器,稍微有延迟!本文是基于VMware(12.5.7)+Ubuntu(16.04)搭建一:准备:1.VM...

2018-08-09 17:02:24 30542 2

翻译 Learning C++ 之 2.9 常量,常量表达式和常量符号

Const 变量到目前为止,我们碰到的所有的变量都不是常量变量。也就是说变量的值可以任意改变。例如:int x { 4 }; // initialize x with the value of 4x = 5; // change value of x to 5然而,有些时候定义一些不能改变值的变量是非常有用的。比如,地心引力的值:9.8 m/s^2.这个值就不会轻易改变。把这个值定...

2018-08-08 19:36:02 1112

翻译 MediaDRM 中文翻译

最近需要做在Android中做DRM相关内容,简单研究了一下MediaDRM文档,翻译如下;个人水平有限,有错误的地方欢迎指正:MediaDRM extends  Object类概述:MediaDRM结合MediaCrypto可以用来获取keys来解密加密的媒体流。MediaDRM的API设计来支持ISO/ICE 23001-7:Common Encryption标准的,但是也可以用来...

2018-07-28 16:25:26 1700

翻译 Learning C++ 之 2.8 常量

C++有两种常量:文字常量和符号常量。这篇我们讲文字常量。文字常量:文字常量(常被称为常量)是直接插入到代码中的值。他们是常量因此你不能更改他得值。return 5; // 5 is an integer literalbool myNameIsAlex = true; // true is a boolean literalstd::cout << 3.4; // ...

2018-07-28 13:09:51 177

转载 Android中两种播放器API对应的两种DRM

之前因为种种原因好久没有更新视频开发的文章了。今天刚刚从国内飞回来,趁着周末更新一下.不过关于DRM这块首先一般的开发者很少用到,而且DRM的开发需要前后台的密切合作,可以说后台的工作占了一大半,安卓前端这块DRM的API封装其实已经很到位了,只是因为接触的人少,所以文档并没有多么而已。所以这篇文章只是给大家过一遍概...

2018-07-23 19:15:53 3962 3

翻译 Learning C++ 之 2.7 Chars

尽管char类型被当作是整型,也就遵循整型的所有规则,但是我们一般不会像使用整形那样使用char类型。一个char类型占用了1byte的数据位。然而与将char类型解释成整型不同,我们需要将其解释成ASCII类型。ASCII的意思是美国标准信息交互组织,它定义了一种特殊的方式来展示英文字符,将其表示成0·127.比如a表示97,b表示98.char通常用单引号表示‘。  Code...

2018-07-21 15:21:34 213

翻译 Learning C++ 之 2.6 Boolean数据类型和if语句简介

在现实生活中经常会问或者被问答案是“是”或者“不是“的问题。如:苹果是水果么?  是  你喜欢竹笋么? 不现在考虑一种相似的说法。苹果是水果。这一句是对还是错?当然是对的。我喜欢竹笋。错这些句子只有两种结果:true/false   yes/no.因为这一类的句子太多了,所以程序员专门定义了一种类型:boolean类型。boolean 变量:boolean变量只有两种可能的值:tr...

2018-07-20 16:24:27 1852

转载 Float类型出现舍入误差的原因

首先是float累加产生误差的原因,该部分转自:http://blog.csdn.net/zhrh0096/article/details/385890671.  浮点数IEEE 754表示方法要搞清楚float累加为什么会产生误差,必须先大致...

2018-07-14 14:44:57 5526

翻译 Learning C++ 之 2.5 浮点数

整型是计算整数的好方法,但是有些时候我们会计算很大的数或者是小数。浮点数类型就可以保存实际的变量:4230.0,-3.3,0.01226。浮点数的小数点部分指出了浮点数可以位数浮动的事实:它可以支持小数点前后可变的位数的变量。有三种不同的浮点数类型:float,double,long double。像整型一样,C++并没有具体定义这几种类型占用size的大小。在现在的架构中,浮点型表示法都是遵循I...

2018-07-14 14:31:58 798

翻译 Learning C++ 之 2.4a 定宽整数和无符号整数的争论

   在前一章中你知道了C++一般只保证整数有一个最小取值范围,但是他们可能更大,这个取决于你的操作系统。   为什么整型值的size不是确定的?    ...

2018-07-02 13:26:18 355

转载 C++经典面试题库

1 预处理问题1:什么是预编译?何时需要预编译?答:预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作。主要处理#开头的指令。如拷贝#include包含的文件代码、替换#define定义的宏、条件编译#if等。.何时需要预编译:1、总是使用不经常改...

2018-06-30 14:33:21 589

翻译 Learning C++ 之 2.4 整数

整数类型变量是不包含分数的变量,如(-2,-1,0,1,2),C++有5种不同类型的整形变量可供使用:CategoryTypeMinimum SizeNotecharacterchar1 byte integershort2 bytes  int2 bytesTypically 4 bytes on modern architectures long4 bytes  long long8 byte...

2018-06-14 19:13:09 159

翻译 Learning C++ 之 2.3 变量的size大小以及sizeof操作符

想你之前在2.1节学习的那样,变量的基础定义,初始化和声明,内存在现代机器中都是以byte的形式存在,每个单元都有一个明确的地址。从这一点上来讲,可以把内存想象成一个个小的空间,而变量名是找到这些空间的一个名字。然而这个类比并不完全准确,因为变量往往并不是只占用一个byte的位置。因此一个变量往往会使用2,4或者8个连续的地址来存储数据。使用内存的size的大小取决于变量的数据类型。幸运的是,通常...

2018-06-06 13:26:51 297

翻译 Learning C++ 之 2.2 Void

Void是最容易解释的数据类型,他的意思是“没有类型”。因此变量不能定义为void类型。void value; // won't work, variables can't be defined with a void typevoid通常用于几种不同的上下文中。1.最常用的适用于一个函数不返回任何返回值的情况void writeValue(int x) // void here means no...

2018-05-22 11:21:55 109

翻译 Learning C++ 之 2.1 基本变量定义,初始化和赋值

内存地址:本课程实在1.3节材料的基础之上的。在之前课程的学习过程中,我们知道变量只是一段存储着基本信息的内存的命名而已。简单回顾一下,电脑中有随机存储器(RAM)供程序使用。当变量定义的时候,一段内存就会分配给该变量。内存中最小的单位是二进制的0或者1,你可以把二进制考虑成为一个灯的开关,开为1,关为0.没有中间状态。如果你观察一段随意的内存空间,你会发现类似于001010101010这样的数字...

2018-05-21 15:25:27 463

转载 指针处理,空指针,野指针

首先说一下什么是指针,只要明白了指针的含义,你就明白null的含义了。假设 有语句 int a=10;那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这个整型单元在内存中的地址是 0x1000;那么内存0x1000单元中存放了数据10,每次我们访问a的时候,实际上都是访问的0x1000单元中的10.现在定义:int *p;     &nbs...

2018-05-15 09:29:38 538

翻译 Learning C++ 之 1.12 第一章综合问题

问题1:写一个简单的程序,该程序有两个单独的输入变量,输入两个变量后求和,然后将和输出到屏幕上。这个程序需要有三个函数:一个叫做readNumber的函数用来读取输入值一个叫做writeAnswer的函数,用来输出函数,该函数只有一个输入值,没有返回值。一个main函数,用来包含上面的两个函数#include <iostream> int readNumber(){ st...

2018-05-04 18:30:21 129

翻译 Learning C++ 之 1.11a 调试程序并且看变量以及栈信息

在之前的课程1.11中,我们学习了怎么使用debugger工具来定位出现问题的地方。然而通过步进调试只能debugger用途的一半.debugger也可以用来跟踪你的变量的值。我们下面的例子使用的是Visual Studio的debugger工具,如果你使用的是其他的IDE那么调试工具的使用可能不太一样,但是基本大同小异,你只需要找到相应的位置即可。调试之前,确保你的程序处于调试模式。看变量的值:...

2018-04-26 16:00:39 220

翻译 Learning C++ 之1.11 debugging程序(步进和断点)

语法和语义错误:编程非常困难,有很多可能犯错的地方。错误经常分为几类:语法错误和语义错误(逻辑错误)。语法错误的发生往往是你没有按照C++的标准规范来写代码。这包括类似于缺少分号,未定义的变量,不匹配的括号,比如下面的例子:#include <iostream>; // preprocessor statements can't have a semicolon on the end...

2018-04-25 15:39:01 806

翻译 Learning C++ 之1.10b 设计你的第一个程序

现在你已经学习了编程的一些基本理论,让我们进一步看一下怎么设计你的第一个程序。当你坐下来写一段程序的时候,通常来说你是有一段问题需要解决。现在的程序员往往在将需求转化为程序的阶段碰上困难。但是这个已经证明你在日常的生活中积累了很多解决问题的技巧。最重要的事情就是在编程之前先设计你的程序。在很多方面上,编程就像是建筑。在你还没有设计的时候就直接盖房子会出现什么后果?结果是除非你非常天才,否则建好的房...

2018-04-21 17:28:42 205

原创 Learning C++ 之1.10a ”头文件警卫“

在1.7节中,提前定义和声明。我们提到一个标识符只能定义一次。因此一个标识符定义两次就会上报编译错误。int main(){ int x; // this is a definition for identifier x int x; // compile error: duplicate definition return 0;}类似的,一个程序中的函数如果定义两...

2018-04-20 11:20:18 754 1

原创 Learning C++ 之 1.10 初识预处理器

预处理器是一个很好的思想,即一个在程序编译之前提前独立运行的一段代码。当预处理器运行的时候,他会从code的头到尾寻找特殊指令。特殊指令一般指的是以#开头的,回车结束的代码(不是;号结尾)。有非常多的特殊指令符,下面会一一介绍。预处理器并不是智能的,他不理解C++语法,她只是在编译器运行之前操作脚本,然后预处理器的结果输出给编译器。预处理器并不会修改代码,相反,预处理器做的所有操作都是存在临时内存...

2018-04-14 12:46:30 131

原创 Learning C++ 之1.9a 头文件

头文件以及目的:随着程序变得越来越大,在不同的文件引入其他文件中的函数变得异常复杂。那么为什么不把这些声明提前放到一个统一的地方呢?C++中不只有.cpp的代码文件,另一种类型文件叫做头文件。头文件的后缀名一般是.h,有时候是.hpp。头文件的目的是包含其他文件使用的声明。使用标准的库函数头文件:看下面的程序#include <iostream>int main(){ st...

2018-04-12 15:10:55 124

原创 Learning C++ 之1.8a 命名冲突和std空间

假如你第一次开车去你朋友家,朋友给了你一个地址:205 Front Streat in Mill City。直到到了Mill City,你打开地图发现有两个205 Front Streat,这个时候就不知道到哪里去了。除非有一些其他的信息来帮你辅助定位。因此你需要打电话给你的朋友问一些详细的信息。因为这样经常会引起歧义,所以一般在一个城市里,不会有两条重名的路。通常来说,C++要求标识符不能有歧义...

2018-04-11 19:18:46 441 1

原创 Learning C++之1.8 多个文件的程序

当程序非常大的时候,我们会将程序分布在很多文件之中,为了方便复用和管理。使用IDE的一个很大的优势是把多个文件的项目更加易于管理。你已经知道了单个的文件怎么编译管理,在这个基础上再增加一个文件非常易于处理。一个多文件的程序的例子:add.cpp//#include "stdafx.h" // uncomment if using Visual Studio int add(int x, int...

2018-04-10 19:15:33 131

原创 Learning C++ 之1.7 提前定义和声明

看看下面这个看似好用的示例程序:#include <iostream> int main(){ std::cout << "The sum of 3 and 4 is: " << add(3, 4) << std::endl; return 0;} int add(int x, int y){ return x ...

2018-04-06 16:01:51 1542

转载 多种配置JAVA以及ADB环境的方法以及推荐

      在这篇文章中。主要解决一个在Java或者Android开发中第一步须要解决的问题,那就是环境变量的配置。因为这部分在网上有非常多教程。參差不齐。我这里主要是对JDK与adb/android两者的环境变量进行汇总,而且针对每一类配置提供几种不同的实现方式。【1】JDK环境变量配置    ...

2018-04-06 13:19:15 786

原创 Learning C++ 之1.6 空格和格式

空格是一类用来调整格式的字符。在C++中这个是由space,tabs或者newlines来控制的。C++一般是忽略掉空格的,除非一些非常特殊的的情况。通常来说下面的语句都是一个意思:std::cout << "Hello world!"; std::cout << "Hello world!"; std::cou...

2018-04-04 16:21:34 326

原创 Learning C++ 之 1.5 操作符

再探表达式:在1.1程序的结构中,我们把表达式定义为:“一个值的数学实体”。然而数学实体这个词有些模糊。更准确来说,一个表达式是由常量,变量,函数和操作数的一个集合。常量:一个常量是代码中的一个确认的值,像:3.1415926。常量总是自我赋值。如下:#include <iostream> int main(){ int x = 2; // x is a variable...

2018-04-02 18:56:23 121

原创 Learning C++ 之 1.4d 变量的局部范围讲解

在1.3中已经学习了CPU执行如下语句的过程:int x;这个过程叫做变量的实例化(创建)所以问题就来了,“什么时候一个实例化的变量销毁呢?”销毁的时机:一个变量的适用范围取决于该变量初始化的时候。函数的参数和函数内部的变量都有局部的适用范围。就是说这些变量只有在这些定义它的函数内部有效。局部变量开始生效的时间就是定义的时候,销毁的时间就是函数执行结束的时候(通常是在函数的最后面)。下面是一个简单...

2018-03-30 19:45:54 155

原创 Learning C++之 1.4c 关键字和命名标识符

关键字:C++保留了84个关键字作为自己使用,这些保留字在C++中往往有特殊的意义。以下就是C++的关键字:alignas **alignof **andand_eqasmautobitandbitorbool *breakcasecatchcharchar16_t **char32_t **classcomplconstconstexpr **const_cast *continuedeclty...

2018-03-27 19:43:27 179

原创 Learning C++ 之1.4b 函数为什么是有用的以及怎么有效地使用函数

之前我们已经介绍了函数的基本概念和功能,下面看一下为什么函数是非常重要的。为什么用函数:一些程序员会问“我们放在函数的代码直接放到main函数不就可以了么”。在大多数情况下,尤其是代码量非常小的情况下是可以的。但是当代码量巨大的时候,你就能发现函数使用的好处了。有组织性:因为现在的代码程序都非常复杂,把所有代码都写在main函数里面显得比较混而且不利于维护。一个函数就相当于一个小程序,这样可以不依...

2018-03-21 14:29:46 119

转载 FFMPEG在Windows系统使用Visual Stadio调试配置过程

由于毕设需要开始学习ffmpeg,因为要修改源码所以这里只能是源码编译。如果要直接使用ffmpeg网上有现成的SDK。源码编译,当然搭环境的是第一步。在Windows平台上比较麻烦,需要的东西比较多。MingwyasmSDLffmpeg具体步骤1.安装mingw,下载地址:http://www.mingw.org/;下载完成后安装,安装完成后点运行,标记上以下几项:m...

2018-03-16 14:04:54 245

原创 Learning C++之1.4a 形式参数和实际参数

形式参数和实际参数:之前的课程中我们讲过函数可以通过return函数返回相应的值。在大多数情况下,函数也需要接受一定的参数来进行处理。举个例子,我们需要一个计算两个值和的函数。这个时候该函数就需要输入两个值。形式参数就是函数命名的时候括号里面的参数,多个参数用,隔开。下面是几个例子:// This function takes no parameters// It does not rely o...

2018-03-14 17:23:10 318

原创 Learning C++之 1.4 函数和返回值

函数是一个可以实现特定功能不断重复使用的一系列语句。前面已经说过每个程序都必须有一个主函数:main()。然而多数程序都用到了很多个函数。通常来说,你的程序有时候在运行的时候可能需要中断一下去做其他事情。你在生活中也常常遇到这些事情,举个例子。当你读书时,你接到了一个电话。这个时候你就需要对书做一个标记,然后去接电话,接完电话后再去接着读书。C++程序也是如此,程序都是按顺序执行着,知道遇到一个函...

2018-03-14 13:45:01 152

原创 Learning C++ 之1.3a cout cin endl

std::cout像之前提到的一样,cout是将程序输出到屏幕上的一个标准函数。如下面的例子:#include <iostream> int main(){ std::cout << "Hello world!"; return 0;}为了输出多个参数 <<可以使用多次,如下:#include <iostream> int...

2018-03-13 19:43:27 171

23001-7 cenc iso base media

CENC官方文档,主要是iso base media格式的视频的cenc假面文档,对于研究DRM系统的同学有所帮助。

2018-03-15

DRM Playready Dash

高清非扫描版playready dash协议,对于研究DRM的同学有非常大的帮助。

2018-01-26

零基础入门java

java入门的经典书籍,不过需要kindle阅读工具才能看,建议下载kindle并安装,可以看很多类型的书籍。

2018-01-25

c实现的经典算法大全

本文档属于算法中的所有经典案例,都有c怨言版本的实现,对于研究算法,或者感兴趣的作为益智题目都有帮助

2017-12-06

基于java的复杂计算器的设计

一个不错的复杂计算机的设计,包括进制转换,科学计算,基本计算等各种功能。。

2011-12-14

完美卸载vc++6.0

想要重新安装vc++6.0,必须要卸载干净,自己在注册表里按照步骤来.

2011-09-19

食堂管理系统设计应用c++程序设计

一份关于食堂管理系统的C++程序设计,非常实用,可以用于很多方面。

2010-06-30

课程设计规范的要求水平

很好用的一份模板,建议打多大学生都用一下,非常好用。总结得非常全面,是大家做课程设计的必需品。

2010-01-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除