自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (18)
  • 收藏
  • 关注

转载 每个程序员都应该收藏的算法复杂度速查表

算法复杂度这件事这篇文章覆盖了计算机科学里面常见算法的时间和空间的大 OBig-O 复杂度。我之前在参加面试前,经常需要花费很多时间从互联网上查找各种搜索和排序算法的优劣,以便我在面试时不会被问住。最近这几年,我面试了几家硅谷的初创企业和一些更大一些的公司,如 Yahoo、eBay、LinkedIn 和 Google,每次我都需要准备这个,我就在问自己,“为什么没有人创建一个漂亮的

2016-11-18 08:27:16 809

原创 Git 读书笔记(二)

运行 Git 前的配置Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:/etc/gitconfig文件系统中对所有用户都普遍适用的配置。若使用git config时用--system选项,读写的就是这个文件。~/

2016-03-29 16:10:49 425

原创 Git 读书笔记(一)

Git 同其他版本控制系统的主要区别 -- 直接快照,而非比较差异Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。这类系统(CVS,Subversion,Perforce,Bazaar 等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容,请看图 1.4。Git 并不保存这些前后变化的差异数据

2016-03-29 15:41:15 409

转载 查找文件或内容

使用find查找文件的时候怎么避开某个文件目录 避开/usr/sam/dir1 和 /usr/sam/file1 目录, 查找temp 文件find /usr/sam (-path /usr/sam/dir1 -o -path /usr/sam/file1 ) -prune -o -name "temp" -print圆括号表示表达式的结合。 表示引用,即指示 shell 不对

2015-04-21 15:26:00 564

转载 写出好的 commit message

为什幺要关注提交信息加快 Reviewing Code 的过程帮助我们写好 release note5年后帮你快速想起来某个分支,tag 或者 commit 增加了什么功能,改变了哪些代码让其他的开发者在运行 git blame 的时候想跪谢总之一个好的提交信息,会帮助你提高项目的整体质量基本要求第一行应该少于50个字。 随后是一个空行 第一行题

2015-04-16 10:34:27 629

转载 shell 脚本中set -e 的用法

-----------------------------------------------------------#!/bin/bashset -ecommand 1command 2...exit 0----------------------------------------------------------Every script yo

2015-03-10 08:57:42 2051

转载 在git 中修改之前的提交内容

备录下,省的又忘了。比如要修改之前的commit的 hashcode为:187f869c9d54c9297d6b0b1b4ff47d2ec781a55eStep 1:先用git rebase 187f869c9d54c9297d6b0b1b4ff47d2ec781a55e^ --interactive //退回到要修改的commit的前一个点上,执行后,git会调用默认

2014-12-04 21:43:17 743

转载 Detours使用说明

转自:http://www.cnblogs.com/flywuya/archive/2010/12/01/1893729.html1 介绍  Api hook包括两部分:api调用的截取和api函数的重定向。通过api hook可以修改函数的参数和返回值。关于原理的详细内容参见《windows核心编程》第19章和第22章。2 Detours API hook"Detours is

2013-10-25 15:13:30 2791

转载 Detour开发包之API拦截技术

转自:http://www.cnblogs.com/flying_bat/archive/2008/04/18/1159996.html我们截获函数执行最直接的目的就是为函数增添功能,修改返回值,或者为调试以及性能测试加入附加的代码,或者截获函数的输入输出作研究,破解使用。通过访 问源代码,我们可以轻而易举的使用重建(Rebuilding)操作系统或者应用程序的方法在它们中间插入新的功能或者做

2013-10-25 15:02:39 1092

转载 程序员的灯下黑:重知识轻技术

转自:http://www.cnblogs.com/flying_bat/archive/2007/05/30/764637.html 电视《雍正王朝》讲了这么一个故事:大将军年羹尧奉命到青海平叛,清军因路途遥远,军耗巨大,因此力求速战速决。但叛军避开锋芒,东躲西藏,年羹尧没有办法找到叛军决战。这时,朝廷内外压力越来越大,年羹尧陷入困境。这是一位谋士对年说:我知道叛军在那里。年大喜。这位谋

2013-10-25 14:57:16 927 1

转载 图形加速卡技术(大众扫盲篇)

图形加速卡技术论坛:1.入门篇--图形加速之图形(发表于GZeasy.com: Jul 20 2003, 04:14 PM)来了这么久,也对这里的朋友有了一个大概的了解。恕我罗索一两句,这里的名字是“图形加速卡技术论坛”,可是情景完全不是这样啊。选购,改卡,甚至游戏也是技术,我倒不说什么,可是n 多人在这里说些完全没有关系的话题,或者让人看了完全摸不着头脑的东西,给我们留下不好

2013-09-04 15:11:09 2867

转载 C++中Static作用和使用方法

1、什么是static?       static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。    2、为什么要引入static?       函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的

2013-03-19 10:05:05 690

转载 C++中public,protected,private访问小结

第一:private,public,protected方法的访问范围. private: 只能由该类中的方法访问,不能被该类的对象访问. protected: 可以被该类中的方法和其友元函数访问,但不能被该类的对象访问 public: 可以被该类中的方法和其友元函数访问,也可以由该类的对象访问 第二:类的继承后方法属性变化: 使用private继承,父类的所有方法在子类中变为p

2013-03-14 10:11:26 1225

转载 C++拷贝构造函数(深拷贝,浅拷贝)

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private:  int a;public:  CExample(int

2013-03-13 09:05:06 625

转载 函数指针与指针函数

1.指针函数的定义    顾名思义,指针函数即返回指针的函数。其一般定义形式如下:       类型名 *函数名(函数参数表列);    其中,后缀运算符括号“()”表示这是一个函数,其前缀运算符星号“*”表示此函数为指针型函数,其函数值为指针,即它带回来的值的类型为指针,当调用这个函数后,将得到一个“指向返回值为…的指针(地址),“类型名”表示函数返回的指针指向的类型”。

2013-03-09 12:05:31 652

转载 typedef用法

不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(。用途一:定义一种类型的别名,而不只是简单的宏替换。

2013-03-09 10:56:50 586

转载 static 作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)第一个作用:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容#includestdio.h>增加这条语句char a = ‘A‘; // global var

2013-03-09 09:22:39 650

转载 C语言内存分布(BSS段、数据段、代码段、堆与栈)

BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text

2013-03-09 08:53:54 1562 1

转载 进程上下文

请问进程上下文是什么意思?回答者的答案集合:1.进程上下文一般在进程切换中提到,也就是当进程要切换时关于当前进程的寄存器内容以及内存页表的详细信息等等内容,一句话概括也就是关于描述进程的信息。2.同意楼上的,就是很多书本上提到的进程控制块PCB,保存着进程的很多详细信息3.补充(LINUX完全注释中的一段话):当一个进程在执行时,CPU的所有寄存器中

2013-02-20 09:42:09 674

转载 windows驱动程序中的预处理含义

#pragma  code_seg(“PAGE”)作用是将此部分代码放入分页内存中运行。#pragma  code_seg() 将代码段设置为默认的代码段#pragma  code_seg("INIT")加载到INIT内存区域中,成功加载后,可以退出内存转自:http://blog.csdn.net/whatday/article/details/7100855

2013-02-17 15:47:07 2621

转载 git 代理的使用方法

有时候,必须要使用代理才能够访问外部网络,这时候需要使用git来下载代码怎么办呢?  答案是可以使用tsocks来帮忙。下载地址如下:http://sourceforge.net/projects/tsocks/files/tsocks/1.8%20beta%205/tar xzvf tsocks-1.8beta5.tar.gz cd tsocks-1.8  ./confi

2013-01-14 13:25:13 1111

原创 搭建Xen虚拟化环境

环境简介:硬件环境:intel i5处理器平台(Sandy Brige)软件环境:Redhat 6.2 Enterprise (64bit) 1、 设置主板BIOS, 支持虚拟化技术 2、配置yum repo 环境根据环境需要,配置/etc/profile.d/目录中的repo环境 3、安装公共软件包yum install screen vim wget

2013-01-14 11:08:50 3808

转载 使用gprof和oprofile查找性能瓶颈

有些时候,我们特别关注程序的性能,特别是底层软件,比如驱动程序、OS等。为了更好的优化程序性能,我们必须找到性能瓶颈点,“好钢用在刀刃上”才能取得好的效果,否则可能白做工作。为了找到关键路径,我们可以使用profilng技术,在linux平台上,我们可以使用gprof和oprofile工具。    gprof是GNU工具之一,它在编译的时候在每个函数的出入口加入了profiling的代码,

2012-11-08 10:30:32 1065

原创 linux操作命令总结二()

1)查看目录大小du -sm  /directory   查看/directory目录总大小, 单位MB 2) RPM软件包rpm -qa |grep vnc          查询已经安装软件中带vnc关键字的软件包rpm -e vnc                   卸载vnc软件rpm -e vnc  --nodeps    卸载vnc软件,忽略软件包的依赖关系

2012-07-25 13:35:11 779

原创 linux操作命令总结一(vim命令)

1、Vim操作命令1)Vim自动目录补全在vim编辑状态下(即insert状态),先按Ctrl+X键,再按 Ctrl+F键 ,即可进入目录自动补全模式,它会根据文中的目录,显示该目录下的所有文件,通过上下键来选择,回车键来确认。2)文件对比vimdiff  file1  file2比较file1和file2中的代码差异或文本差异vimdiff有几个比较方便的快捷键

2012-07-16 16:18:58 2151

原创 ubuntu系统登陆后,只显示桌面,无任何图标

这个问题也困扰了我几天,今天也终于找到终极解决方法:问题:ubuntu系统登陆后,只显示桌面,无任何图标解决方法:这个问题可能是由于compiz的问题,把这个安装包卸载即可。在登陆时按--,进入console模式,在命令行中输入:sudo apt-get --purge remove compiz* libcompizconfig*

2012-07-03 15:55:27 12202 1

原创 输入正确的密码,依然无法登陆ubuntu系统

这个问题一直困扰我好几天,网上也找到好几天,今天终于找到终极解决方案了。问题:进入ubuntu登陆界面,输入正确的登陆密码,屏幕闪一下,又回到登陆界面,无法登陆到系统解决方法: 按--键,通过console进入系统,删除home目录下的.Xauthor*文件:root@kevin:/home# find -name .Xauthor*./kevin/.Xauthority-c.

2012-07-03 15:51:16 12732 3

转载 linux 的System V和BSD区别

linux或unix有两种方式的启动模式:System V和BSD最大的不同就是:System V能够为不同的运行级别定义启动哪些服务,比如:     # 0 - 停机(千万不要把initdefault设置为0 )   # 1 - 单用户模式   # 2 - 多用户,但是没有NFS   # 3 - 完全多用户模式(无界面的黑框框)   # 4 - 没有用到

2012-06-15 15:30:12 1273

转载 mount用法详解

与WINDOWS一样,在LINUX系统中可以从光盘、软盘安装应用软件;但不同的是,它需要用命令mount来登录光驱、软驱。而且,软件大多是经过压缩的,所以还需要懂得如何解压。最后必须配置、编译才能运行。下面分四个方面进行介绍:一、mount登录   LINUX的软驱设备用特殊文件/dev/fd0表示,文件系统是msdos,因此用以下命令登录,读取软盘内容:  # mount -t

2012-06-15 10:56:08 1493

原创 商务邮件写作指南

英文邮件1、格式(参考下文样板)2、主谓宾3、单词错别字4、标点符号(标点符号后面要用空格)5、要用敬语  Please help to , Would /Could you help to , Thanks for your help to /Thanks for your confirmExample:(Please follow this style to wri

2012-02-28 17:12:05 1171

转载 linux内核学习笔记之——list_for_each_entry

在Linux内核源码中,经常要对链表进行操作,其中一个很重要的宏是list_for_each_entry:意思大体如下:假设只有两个结点,则第一个member代表head,list_for_each_entry的作用就是循环遍历每一个pos中的member子项。如下图所示:宏list_for_each_entry: /** * list_f

2012-02-27 19:32:59 1381

翻译 指导8:软件缩放

Code: tutorial08.c软件缩放库libswscale 近来ffmpeg添加了新的接口:libswscale来处理图像缩放。 但是在前面我们使用img_convert来把RGB转换成YUV12,我们现在使用新的接口。新接口更加标准和快速,而且我相信里面有了MMX优化代码。换句话说,它是做缩放更好的方式。我们将用来缩放的基本函数是sws_scale。但一开始,我们

2012-02-20 19:48:54 700

翻译 指导7:快进快退

Code: tutorial07.c处理快进快退命令 现在我们来为我们的播放器加入一些快进和快退的功能,因为如果你不能全局搜索一部电影是很让人讨厌的。同时,这将告诉你av_seek_frame函数是多么容易使用。我们将在电影播放中使用左方向键和右方向键来表示向后和向前一小段,使用向上和向下键来表示向前和向后一大段。这里一小段是10秒,一大段是60秒。所以我们需要设置我们的主循环

2012-02-20 19:41:13 1015

翻译 指导6:同步音频

Code: tutorial06.c同步音频现在我们已经有了一个比较像样的播放器。所以让我们看一下还有哪些零碎的东西没处理。上次,我们掩饰了一点同步问题,也就是同步音频到视频而不是其它的同步方式。我们将采用和视频一样的方式:做一个内部视频时钟来记录视频线程播放了多久,然后同步音频到上面去。后面我们也来看一下如何推而广之把音频和视频都同步到外部时钟。生成一个视频时钟 现在

2012-02-20 19:33:56 630

翻译 指导5:同步视频

Code: tutorial05.c如何同步视频 前面整个的一段时间,我们有了一个几乎无用的电影播放器。当然,它能播放视频,也能播放音频,但是它还不能被称为一部电影。那么我们还要做什么呢?PTS和DTS幸运的是,音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒的帧率。然而,如果我们只是简单的通过数帧和乘以帧率的方式来同步视频

2012-02-20 19:19:33 779

翻译 文档4:创建线程

Code: tutorial04.c综述前面我们利用SDL的音频函数实现了对音频解码和播放的支持,我们定义一个包含音频回调函数callbacks的线程函数,当我们需要音频的时候就使SDL启动这个线程。现在我们将要对视频播放做同样的事情,这样能使代码更容易模块化和协作,尤其有利于音视频同步,那么我们从哪里开始呢?首先注意到,我们的主函数需要做太多的事情:运行event循环,读pack

2012-02-20 19:00:27 1154

翻译 指导3:播放声音

Code: tutorial03.c现在我们要来播放声音。SDL也为我们准备了输出声音的方法。函数SDL_OpenAudio()本身就是用来打开声音设备的。它使用一个叫做SDL_AudioSpec结构体作为参数,这个结构体中包含了我们将要输出的音频的所有信息。在我们展示如何建立之前,让我们先解释一下电脑是如何处理音频的。数字音频是由一长串的样本流组成的。每个样本表示声音波形中的一个

2012-02-20 12:57:09 1040

原创 软件知识体系

知识分类:基础知识:1)架构设计设计模式                 《深入浅出设计模式》UML设计                《大象--Thinking in UML》STL和泛型编程     《STL 源码剖析》2)底层编译、装载、链接  《程序员的自我修养—链接、装载与库》linux设备驱动          《Linux设备驱动程

2012-02-20 12:34:50 792 1

转载 程序员技术练级攻略

导读:本文是由陈皓和他的一位朋友Mailper合作完成,原名叫《Build Your Programming Technical Skills》,本文分享了Mailper和作者个人的学习经历。每个程序员都希望自己能顺利的升级到高的层次,您不妨按照下面的方法去做。前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学

2012-02-20 10:34:39 503

原创 常用linux命令

1、查找并删除指定路径下文件例:在/home目录下删除所有隐藏文件(隐藏文件是以“.”开头的)find  /home -name ".*" -exec rm  -rf  {} \;

2012-02-19 16:21:32 473

GPU_architecture_overview

GPU Architecture Overview PPT, Author: John Owens & UC Davis

2013-09-04

V4L2 API Specification

V4L2的官方说明文档,提供了V4L2接口的API参数说明以及含义等。

2013-04-28

xen HVM guest 配置文件

xen guest 配置文件,作为参考,方便 大家搭建环境

2013-01-14

linux 3.4.0 config file

redhat 64bit 3.4.0kernel 的配置文件,已经打开了Xen的虚拟化支持

2013-01-14

oprofile manual

oprofile 是linux下很长有用的性能分析工具,这个文档是oprofile官方网站提供的manual的pdf版

2012-11-08

系统虚拟化:原理与实现

《系统虚拟化:原理与实现》的pdf电子档

2012-07-26

OPENGL编程指南(书本源码)

与OPENGL编程指南(红宝书)图书相配套的源码,是学习OPENGL编程的好资料。

2012-03-26

linux设备驱动程序第3版代码

《LINUX设备驱动程序(第3版)》这本经典的教材是每位驱动开发人员书桌前的必备资料。原书中通过一些案例来介绍设备驱动开发过程。如果在看书的过程中再加上在linux系统上的操作,会加深对驱动开发的理解。该附件就是第三版教材对应的源代码。

2012-02-22

MainConcept MPEG Encoder

MainConcept MPEG Encoder 是一个功能强大的MPEG编码软件, 可以帮助你快速的将AVI文件压缩并重新编码为高品质的MPEG视频文件,压缩速度很快, 支持批处理操作,支持将多个 MPEG文件合并为一个MPEG文件,程序界面友好,操作非常简单!

2012-02-08

MainConcept

MainConcept MPEG Encoder 是一个功能强大的MPEG编码软件,可以帮助你快速的将AVI文件压缩并重新编码为高品质的MPEG视频文件,压缩速度很快,支持批处理操作

2012-02-08

Easy RealMedia Producer

主要功能是将mpeg视频转换为real格式。

2012-02-08

Elecard YUV Viewer

Elecard YUV Viewer设计用来查看YUV视频文件的YUV数据序列,文件互相比较, 以找出二进制图像是否匹配,并查看比较的结果。该应用程序还允许用户计算, 如信噪比,NQI那斯达克指数和VQM质量度量。

2012-02-08

yuvtools_v2

yuvtools_v2工具包收集了常用的视频(图形)文件处理工具,方便视频开发人员,特别是视频编码研究者,这些小工具将是不可多得的助手。 BMP2AVI.exe 将一副副的BMP图片合并成标准windows avi文件 BMPSeg.exe 从BMP图片中分割出一个区域,支持批量操作。 SEQ2AVI.exe 将yuv420序列转换成avi文件 SeqSad.exe 求两个序列之间,每个宏块之间的差异sad 如果没有差异就不输出。 note:该程序用于排错。 msu_vmt.exe 视频序列psnr对比分析工具 BMP2GBMP.exe BMP2SEQ.exe YUVviewerPlus.exe

2012-02-08

c/c++ 编程规范

c/c++编程规范 内容包括 注释添加规范,内存分配规则,出错信息处理,函数传值和传指针,etc.

2011-11-29

ASF容器官方说明文档

asf官方说明文档 文档版本信息: Advanced Systems Format (ASF) Specification Revision 01.20.05 Microsoft Corporation June 2010

2011-11-29

linux操作手册

华为3Com的linux 常用命令手册,涵盖了平时常用的操作命令,内容丰富,上手性好,平时必备的电子手册。

2011-11-29

android CTS培训文档

详细介绍了CTS工作原理,定位方法,以及如何修正CTS bug.

2011-11-21

空空如也

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

TA关注的人

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