自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 YUV420SP/YUV420P

YUV420SP:sp(semi-Planar二维平面)指的是YUV不是3个平面而是分成2个平面。Y数据一个平面,UV数据合用一个平面。UV平面的数据格式是UVUVUV...YUV420P:420P是先把U存放完后,再存放V,也就是说UV他们是连续的。...

2018-10-29 16:46:31 9316

转载 Linux 的文件权限和目录配置

https://www.linuxidc.com/Linux/2018-10/154812.htm1、Linux文件属性用root用户登录Linux后,执行 ls -al 命令查看文件。显示如下:文件属性示意图如下:第一列代表这个文件的类型和权限第一个字符代表这个文件是:目录、文件或链接文件等。若是【d】则是目录; 若是【-】则是文件; 若是【l】则表示为连...

2018-10-21 11:34:07 229

转载 时间复杂度和空间复杂度

https://blog.csdn.net/zxm490484080/article/details/72210501http://blog.csdn.net/daijin888888/article/details/66970902算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量; 而空间复杂度是指执行这个算法所需要的内存空间。 (算法的...

2018-09-18 20:39:09 163

原创 Two Sum

class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> res; int i , j; for(i = 0; i < nums.size(); i ++){ ...

2018-09-18 20:38:00 590

转载 c++中template的用法

 https://blog.csdn.net/lezardfu/article/details/56852043#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8Template 基础篇-函数模板 为什么要有泛型编程 函数模板定义 普通函数模板 成员函数模板 为什么成员函数模板不能是虚函数virtual 实参推断 如何使用 ...

2018-09-18 20:03:28 9101 2

转载 c++ vector用法详解

https://zh.cppreference.com/w/cpp/container/vector定义于头文件<vector>template<    class T,    class Allocator = std::allocator<T>>class vector;std::vector是封装动态数组的顺序容器。    ve...

2018-08-23 09:56:06 380

转载 多线程之生产者和消费者模型

这么经典的问题,要多看几次,多思考。https://blog.csdn.net/chenxun_2010/article/details/49848865(1)单消费者单生产者模式#include <iostream>#include <mutex>#include <thread>#include <condition_variabl...

2018-08-03 08:55:50 261

翻译 多线程中thread::join()和thread::detach()的区别

      你应该使用join还是detached?一般都使用join 除非你需要更灵活并且想要独立地提供一种同步机制来等待线程完成,在这种情况下你应该使用detach   C++中的thread对象是指执行的线程(thread of execution),这是系统性或平台性的概念。    当执行thread::join()时,子线程就会阻塞主线程,当thread::join()结...

2018-08-02 09:39:33 2990

原创 C++中Lambda函数(匿名函数)

参考:https://www.cnblogs.com/pzhfei/archive/2013/01/14/lambda_expression.html首先,要搞清楚匿名函数是什么?为什么C++11为什么要弄出来匿名函数这个机制?匿名函数就是没有名字的函数。有一些函数只是临时用一下,而且业务逻辑也比较的简单,相当于是临时工,就没必要给它定义成一个正常函数(包含有函数名,很正式的那种)。使用临...

2018-07-31 09:54:20 8853

转载 线程池的实现

转载自https://blog.csdn.net/zdarks/article/details/46994607,还能学习很多新的语法咳咳。c++11 加入了线程库,从此告别了标准库不支持并发的历史。然而 c++ 对于多线程的支持还是比较低级,稍微高级一点的用法都需要自己去实现,譬如线程池、信号量等。线程池(thread pool)这个东西,在面试上多次被问到,一般的回答都是:“管理一个任务队...

2018-07-23 18:05:03 180

原创 C++11多线程之std::thread

先看thread的定义:类 std::thread:class thread { public: // 类型: class id;//线程的id typedef /*implementation-defined*/ native_handle_type; // 构造/复制/销毁: thread() noexcept;//构造函数 te...

2018-07-23 17:06:32 261

原创 C++11多线程概论

多线程的的编译命令:g++ -std=c++11 -o condition_variable condition_variable.cpp -lpthread 要加上-lpthread lpthread这个类用到posix实现的线程了。C++11新标准中引入了四个头文件来支持多线程变成,他们分别是<atomic>,<thread>,<mutex>,&...

2018-07-10 09:01:42 367

原创 new和malloc区别和malloc详解

参考:https://www.cnblogs.com/huhuuu/archive/2013/11/19/3432371.htmlhttps://blog.csdn.net/chance_wang/article/details/1609081一、区别其实在使用的大部分场景下,两者是可以通用的,但是我们还是要知道他两的区别。1、malloc与free是c++/c语言的标准函数,new/delete...

2018-07-05 18:32:28 37974 12

原创 多线程中编译错误

今天写了一个makefile文件,没想到各种坑。先记录下来,慢慢修改1、g++: error: .o: 没有那个文件或目录g++: error: thread_pool.o: 没有那个文件或目录g++: fatal error: no input filescompilation terminated.makefile:15: recipe for target 'thread_pool.o' f...

2018-07-03 17:39:25 1429

转载 多线程系列之线程优先级和线程安全

原文:http://blog.csdn.net/luoweifu/article/details/46701167 1、线程优先级2、线程安全

2018-06-29 19:19:02 200

原创 多线程系列之基本概念

今天开始系统的学习一下多线程,参考:https://blog.csdn.net/luoweifu/article/details/46595285

2018-06-28 09:25:34 114

转载 Android 多线程之HandlerThread 完全详解

http://blog.csdn.net/javazejian/article/details/52426353 之前对线程也写过几篇文章,不过倒是没有针对android,因为java与android在线程方面大部分还是相同,不过本篇我们要介绍的是android的专属类HandlerThread,因为HandlerThread在设置思想上还是挺值得我们学习的,那么我们下面来就了解它吧,我们先来看看...

2018-06-12 19:47:23 226

原创 crash问题

java.lang.RuntimeException: Camera is being used after Camera.release() was called预览callback时候的问题,参考下面:mCamera.setPreviewCallback(null) ;mCamera.stopPreview();mPreviewRunning = false;mCamera.release()...

2018-05-23 17:35:48 672

原创 利用Git命令来打patch

打patch方法git format-patch ******(commit-id)使用patch的方法git apply 0001-*****.patch但是有时候Patch会有问题,应用上面的命令整个patch都打不上,可以使用下面命令:git apply --refect 0001-*****.patch该命令先合并没有产生冲突的文件,然后根据同目录下的*.rej来看哪里有冲突。可以使用gi...

2018-05-11 14:31:25 1766

原创 c++中类模板和函数模板介绍

参考:https://www.cnblogs.com/cynchanpin/p/7127897.html模板类是一种泛型编程。泛型编程:编写与类型无关的逻辑代码,是代码复用的一种手段。而模板是泛型编程的基础。1、函数模板格式template<typename Param1, typename Param2,...,class Paramn>返回值类型 函数名(参数列表){ ...

2018-04-28 14:54:07 231

原创 java中字符串操作

1、判断两个字符串是否相等我最近刚学java,今天编程的时候就遇到一个棘手的问题,就是关于判断两个字符串是否相等的问题。在编程中,通常比较两个字符串是否相同的表达式是“==”,但在java中不能这么写。在java中,用的是equals();例:A字符串和B和字符串比较:if(A.equals(B)){}返回true 或false.String 的equals 方法用于比较两个字符串是否相等。由于字...

2018-04-16 21:09:04 147

原创 cannot pass non-trivial object of type 'string8' to variadic function

 这个错误涉及到 android底层库libutils之string8,可以参考https://blog.csdn.net/armwind/article/details/52016309解决办法是把报错的地方换成string8的string()函数如:string8 a = xxxxx;char b[4];b = a.string();...

2018-04-14 18:16:09 3841

原创 移植算法编译遇到的坑

1、mkdir函数不能用 添加头文件#include <sys/stat.h> #include <sys/types.h>2、JNI编程-- undefined reference to `__android_log_print' 的解决办法在android.mk 中添加 LOCAL_LDLIBS :=-llog  注意android.mk 里有一行include $(C...

2018-04-11 20:44:18 299

原创 android中的消息处理机制

    最近在项目中需要在上层中修改一些东西,看到很多消息处理机制。故记录一下。    android中的消息处理机制主要是通过异步回调机制handler来进行的。声明一个handler,里面包含message和Looper两部分。Handler作用是发送和处理信息,当前线程需要有一个Looper对象。messageQueue是消息队列,在初始化Loop时候就要创建一个对应的MessageQueu...

2018-04-03 20:25:40 95

原创 虚函数的应用

class A {   virtual f();//定义一个虚函数}class B: class A{  f();//函数的实现}class C: class A{  f();//函数的实现,和class B中的不一样}main(){//在使用的时候,可以直接定义一个基类的对象A  func= f();//不论是调用B中的f()还是C中的f(),都转换到基类,这样有利于扩展,在以后可以写D,E,F...

2018-03-27 21:54:57 629

转载 android下的callback机制

按照我个人的理解,就是: 用java的回调机制来实现C语言中的函数指针的传递。 为了了解什么是回调函数,在网上查阅了如下资料,整理如下: 资料一:首先说说什么叫回调函数?    在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就 称为回调。在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数...

2018-03-26 21:37:57 6148

原创 JPS格式

JPS即JPEG Stereo,是一种3d图像格式。

2018-03-23 10:28:34 733

转载 __attribute__((unused))的含义

在分析内核时注意到有些函数会有添加__attribute__((unused)),在gcc手册中找到了有关的解释:unused:This attribute, attached to a function, means that the function is meant to be        possibly unused. GCC will not produce a warning fo...

2018-03-21 16:33:21 6825

转载 指针函数和函数指针的区别

http://blog.csdn.net/u014131641/article/details/51104808http://blog.csdn.net/ameyume/article/details/8220832这两篇文章写的挺好的一直都对两个概念有所混淆--指针函数与函数指针,下面我们通过两个例子来讲解一下-------------------------------------------...

2018-03-16 14:56:59 326

转载 const详解2

转载http://blog.csdn.net/xingjiarong/article/details/47282255关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己的道理,所以说const的存在一定有它的合理性,与预编译指令相比,const修饰符有以下...

2018-03-16 09:51:20 131

原创 const的用法详解

关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,现将本人的一些体会总结如下,期望对大家有所帮助:一 const基础    如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:       int b = 500;       const int* a = &b;                      [1]       int ...

2018-03-15 11:02:22 222

转载 reinterpret_cast,const_cast,static_cast,dynamic_cast 显式类型转换

reinterpret_cast,const_cast,static_cast,dynamic_cast 显式类型转换 Cpp代码  #include<iostream.h>    int main(void)  {  //reinterpret_cast  //将一个类型指针转换为另一个类型指针,这种在转换不修改指针变量值数据存放格式  //只需在编译时重新解释指针的类型,他可以将指...

2018-03-14 14:07:03 138

原创 Linux中获得程序时间的函数

精确一点的是用gettimeofday(),不精确的可以用clock();1、gettimeofday()函数1.简介:在C语言中可以使用函数gettimeofday()函数来得到时间。它的精度可以达到微妙2.函数原型:#include<sys/time.h>int gettimeofday(struct  timeval*tv,struct  timezone *tz )3.说明:g...

2018-03-09 09:55:47 2195

转载 c++中&的使用

对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两个概念是统一的。引用是C++引入的新语言特性,是C++常用的一个重要内容...

2018-03-06 11:06:27 823

原创 git diff命令

Git diff     用于比较两次修改的差异    1.1 比较工作区与暂存区      git diff 不加参数即默认比较工作区与暂存区    1.2 比较暂存区与最新本地版本库(本地库中最近一次commit的内容)      git diff --cached  [<path>...]     1.3 比较工作区与最新本地版本库      git diff HEAD [&lt...

2018-03-02 09:55:46 662

转载 git stash 命令

我们有时会遇到这样的情况,正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度保存起来,然后切换到另一个分支去修改bug,修改完提交后,再切回dev分支,使用git stash pop来恢复之前的进度继续开发新功能。下面来看一下git stash命令的常见用法git stash保存当前工作进度,会...

2018-03-02 09:39:14 176

转载 void与void*详解

void关键字的使用规则:             1. 如果函数没有返回值,那么应声明为void类型;             2. 如果函数无参数,那么应声明其参数为void;             3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void * ;              4. void不能代表一个真实的变量;void体现了一种抽象,这个世界上的变量都是“有类型”...

2018-02-27 16:59:59 215

转载 DefaultKeyedVector和KeyedVector用法

http://blog.csdn.net/qidi_huang/article/details/52618132【用法示例】        在 Android Framework 源码中经常可以看到使用 DefaultKeyedVector 类型的容器。举个例子,在 AudioPolicyManagerBase.cpp 中我们可以看到如下代码:[cpp] view plain copy print...

2018-02-08 18:38:03 2134

原创 杂技杂八

camera中一般都有hal层,只有yuv sensor可以不用hal,sensor内部就有一些处理程序。记住所有的参数都是由apk来进行设定的

2018-02-08 11:24:08 176

转载 Iterator学习

参考:https://blog.csdn.net/summerxiachen/article/details/59538640https://blog.csdn.net/gogokongyin/article/details/51206225什么是Iterator?    迭代器本质来说是一个对象,在使用iterator()方法后返回一个Iterator对象,Iterator实际上是一...

2018-02-06 14:14:10 179

空空如也

空空如也

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

TA关注的人

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