自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Visual Studio Linker Warning LNK4099

在Visual Studio 下链接debug 版本的程序的时候,要求被链接的目标文件对应的pdb存在,这就要求依赖库在发布debug版本的时候也一并把pdb 文件发布。 如果链接的时候找不到pdb文件就会有这个Warning 消息跳出来。 那么链接器是怎么知道链接到哪个pdb文件的呢? 参考MSDN上的这篇文章 . 可以知道链接的pdb文件名,但是需要注意的是,pdb文件名对于库里面的每个目标文件

2016-09-20 03:16:00 1189

原创 VIM开发环境配置

vim作为Linux系统下的开发神器,历史悠久. 在今天,vim还能不能继续发扬光大,这个不是这篇文章讨论的话题。 本文主要是记录在Linux下围绕vim的开发环境的配置,以便自己以后查询,也方便需要的朋友借鉴。vim插件管理系统vim的插件是vim生态系统的重要组成部分, 它的重要性就不说了。 一直以来vim都没有能够形成官方的统一的插件管理机制。取而代之的是, 用户首先将插件下载解压到 ~/.v

2016-05-29 19:48:00 1910

原创 C++ function template name binding

为了简化讨论,本文仅对函数模板的的名称绑定进行总结概括,关于类模板的相关内容,以后再做讨论。Name BindingName Binding就是对模板定义中出现的名称(也称为构造’construct’,也包括操作符等),通过在相关的上下文中查询, 并绑定到声明的过程,比如,int all = 0;template<typename T>int sum(T* t, int s){ for

2016-05-28 04:02:18 2128

原创 C++11 Object初始化问题

C++11 中 类实例的初始化问题比较复杂。 这里涉及到实例的类型, (static vs non-static), 有没有自定义构造函数等等。对于static类型(全局变量,namespace变量,类static数据成员,函数static局部成员),class内部的成员变量都会使用默认值初始化. //Struct S1 w/o constructor struct S1 {

2016-03-11 12:21:14 604

原创 Bit field

c 语言中的bit field 是一种节省内存的方式, 用于struct 或者 union 的成员变量的声明。基本的语法是:struct BF { ... type_specifier [declarator] : constant_expression; ...};采用这样一种方式的好处是,我们可以明确地指定某一个成员变量在内存中占用的空间(constant_expression

2016-02-24 01:35:05 4250

原创 Android ColorFilter and Tint

概述关于Android ColorFilter 和 Tint之间的关系一直混淆不清。两者均是对显示的图片进行着色或者过滤。 ColorFilter: 色彩过滤 Tint: 着色从英文原意上来讲,似乎有些相似,而从实际的效果来讲也是一致的。Android 向导文档似乎对此也是一笔带过,不愿深入,让人有些摸不着头脑: With Android 5.0 (API level 21) an

2015-08-14 17:15:38 5917

转载 Android Custom Views and XML attributes

I’ve tried to follow the Google Android tutorials and documentation when it comes to creating your own custom views but… it’s lacking. Thankfully the internet is full of information. Here’s a few res

2015-08-06 13:23:11 600

原创 构造函数调用虚函数

今天看android canvas 类的源代码看到 Canvas的构造函数之一: public class Canvas{... public Canvas() { if (!isHardwareAccelerated()) { ... } else { ... } } publi

2015-08-04 14:06:02 667

原创 search - binary search/sort tree

#include "stdio.h"#include "stdlib.h"#include "string.h"//What is a Binary Sort Tree?//1. A BST is either an empty tree or a binary tree with the following characteristics//2. all elements on left

2015-04-15 03:08:35 548

原创 search - fibonacci search

#include "stdio.h"#include "string.h"#include "malloc.h" #define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length;}SqList;//The key difference between Fibonacci search and

2015-03-30 03:01:36 732

原创 search - binary search

#include "stdio.h"#include "string.h"#define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length;}SqList;int BinarySearch( SqList* L, int key ){ int low = 0; int high

2015-03-30 01:32:21 416

原创 sorting - merge sort

#include "stdio.h"#include "string.h"#define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length;}SqList;enum MERGE_SORT_METHOD { RECURSE, ITERATE };void Merge( int src[], int

2015-03-28 03:45:25 511

原创 sorting - quick sort

#include "stdio.h"#include "string.h"#define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length;}SqList;void swap( SqList* L, unsigned index1, unsigned index2 ){ if( in

2015-03-25 00:47:01 750

原创 sorting - shell sort

#include "stdio.h"#include "string.h"#define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length;}SqList;void swap( SqList* L, unsigned index1, unsigned index2 ){ if( in

2015-03-24 02:52:10 555

原创 sorting - insert sort

include “stdio.h”include “string.h”define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length; }SqList;void swap( SqList* L, unsigned index1, unsigned index2 ) { if( in

2015-03-24 01:05:58 573

原创 sorting - select sort

#include "stdio.h"#include "string.h"#define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length;}SqList;void swap( SqList* L, unsigned index1, unsigned index2 ){ if( in

2015-03-24 00:38:01 459

原创 Sorting - bubble sort

#include "stdio.h"#include "string.h"#define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length;}SqList;void swap( SqList* L, unsigned index1, unsigned index2 ){ if( in

2015-03-23 02:12:50 542

原创 Sorting - heap sort

#include "stdio.h"#include "string.h"#define MAX_LIST 50typedef struct _SqList { int data[MAX_LIST]; int length;}SqList;void swap( SqList* L, unsigned index1, unsigned index2 ){ if( in

2015-03-23 01:37:21 510

原创 运行时类型信息RTTI

我们在写C++代码的时候经常碰到使用dynamic_cast进行类型转换的情况,也都知道经过dynamic_cast的转换更加安全,因为dynamic_cast进行了类型检查。 但是可能很多人不知道dynamic_cast是C++ 运行时类型信息(RTTI)机制链条上的一个节点。 RTTI提供了两个操作符和一个类: dynamic_casttypeidtype_info整个RTTI, 作为一

2015-03-19 18:45:07 1529

原创 关于CLASSPATH的一点感想

前面的例子只涉及到一个HelloJava.java文件,所以也没有牵涉到classpath。但是实际的编程中不可能有这么简单的程序,因此也常常需要关注classpath的设定。oracle 官方文档对于classpath的定义是: The class path is the path that the Java runtime environment searches for classes

2015-03-18 16:59:36 433

原创 命令行编译运行Java程序

虽然很少写Java程序,但有时却又要写几行代码做点小实验,比如写个hellojava之类的小代码,这时候用eclipse, netbeans似乎有点overkill了,于是乎还得求助于命令行。但是忽然之间这种小事似乎让人无从入手,还得每次上网查找,写这篇文章就是为了记录这个过程省得以后再去google了。编译写完.java程序之后第一步就是编译成java 虚拟机能够识别的字节码,这就得用到JDK里面

2015-03-18 16:57:36 643

原创 GStreamer Pad and Capabilities Negotiation

Pad是什么首先pad是GStreamer Element必不可少的组成部分,你可以把它看作是element和外界(其它element)交换数据的端口。数据从element的一端流入,另一端留出(一般情形,但是,source element只有出没有进, sink只有进没有出),那么一个element就该有两个pad分别位于element的两端。从pad的角度来讲,根据数据的流入和流出方向,就该有

2015-03-08 19:05:01 3655 3

原创 直接Stream Video到GPU Texture 内存

在某些场合需要快速的将Video Frame stream到GPU texture, 比如要使用GPU渲染从相机过来的帧数据。这时候就可以将数据直接写入pixel unpack buffer object.Pixel unpack buffer objectOpenGL 支持几种buffer objects, 其中用的最多的大概就是vertex buffer object (VBO) 用来存储顶点相

2015-03-06 04:00:10 1576

原创 OpenGL Framebuffer Object (FBO)

在OpenGL中, OpenGL Context有一个默认的FBO用来绘制图像, 但是我们也可以创建新的用户定义的Framebuffers, 这样我们可以绘制到自定义的framebuffer, 而不会影响到窗口系统。关键词定义Image: 本文中, Image是包含像素的二维数组,这些像素具有特定的存储格式。Layered Image: 具有某一特定尺寸和格式的一套images, 对应于tex

2015-03-05 22:56:05 2105

转载 GPL, LGPL, BSD协议介绍

There are a lot of different open source licences out there, and it can sometimes be a bit confusing if you’re not intimate with the details of each one. So here’s a quick roundup of three of the most

2015-03-04 17:59:19 653

原创 GStreamer 1.0 运行时环境变量设置

插件搜索路径GStreamer程序运行时,按照以下顺序搜索插件: PATHGST_PLUGIN_PATH_1_0 或 GST_PLUGIN_PATHGST_PLUGIN_SYSTEM_PATH_1_0 或 GST_PLUGIN_SYSTEM_PATH每个环境变量包含一个路径列表。 GST_PLUGIN_PATH_1_0环境变量如果被设置,

2015-03-04 16:38:41 7479 1

原创 类型转换操作符Cast Operators

C++ 类型转换操作符C语言的类型转换操作有其局限性,因此C++语言增加了4个类型转换操作符。reinterpret_castdynamic_caststatic_castconst_cast它们的语法都是一致的:xxxx_cast < type-id > ( expression )reinterpret_cast 对原始比特位重解释顾名思义,reinterpret 就是重解释,r

2015-02-27 20:59:25 804 1

原创 常量指针和指向常量的指针

经常C++程序员会提到“常量指针( const pointer )”, 其实他们想表达的意思往往是“指向常量的指针(pointer to const)”。 真不幸, 这是两个完全不同的概念。T* pt = new T; const T* pct = pt; //一个指向常量的指针T* const cpt = pt; //一个常量指针这里一定要弄清楚const 修饰符修饰的对象是 基础类型还是指针

2015-02-15 14:17:03 1025

原创 http1.1简要介绍

最近做到一个项目要求从IP照相机上读取图像到本地加以处理。这就涉及到网络通讯的问题,而我对网络通讯基本是菜鸟,以前做图像处理用到的图像都是本地摄像头抓取的,而这次要求用到http网络协议。  说到网络协议,自然就让人联想到http了,而这也是我要用到的。所以我还是规规矩矩,先读一读http1.1的协议书. http1.1协议书有176页,要把所有问题都搞明白也不是一时半会儿的问题。对于我来讲,也没有

2015-02-15 04:47:45 739

原创 计算机内存中浮点数的表示

浮点概念的引入在计算机系统的发展过程中,曾经提出过多种方法表达实数。比如定点数表示法, 这种表示方法将小数点的位置固定在某一个位置,比如: 11001000.00110001,这个16位(2字节) 的定点数用前面8位表示整数部分,后面8位表示小数部分,这种方法直观,但是固定的小数点位置决定了固定位数的整数部分和小数部分,不利于同时表达特别大的数或者特别小的数。最终,绝大多数现代计算机遵循IEEE75

2015-02-15 03:58:16 10274 2

原创 关于多媒体编解码器和音视频格式

随着高清摄像设备的普及,每个人现在都在变成一个或者有志于变成一个摄影师! 我们这里不讲摄影技巧,那不是我的专业,我在这里想阐述的只是关于多媒体的最基本知识。 当你把你的作品展示给你的朋友欣赏的时候,这些知识会对你炫耀技术展示才华很有帮助! 这里我要讲的是视频容器格式(container format) 和编解码器(codecs). 视频格式,容器格式,文件格式这么多格式到底之间有什么关系呢? 其实

2015-02-15 00:47:51 1062

原创 C++中的引用

C++中的引用C++中引用和指针的概念常常被拿来对比,二者之间有非常相似的特性。这给初学者带来了困扰,特别是很多编译器使用了指针来实现引用,更增添二者之间扑朔迷离的牵连关系!本文仅就引用的特性做简要介绍,旨在帮助读者更好地理解引用的概念和避免常见的错误!引用的三大特性不存在空引用所有引用都要初始化引用所指向的对象不可更改仔细品味以上引用的三大特性,就会发现这三点都是相对于指针而言的。关于这三

2015-02-14 18:29:04 452

Sick Laser Range Finder Tool box for Windows

Sick 激光测距仪windows 工具箱。 里面有使用说明。

2009-12-10

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

TA关注的人

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