WUYUANS
Just for Sharing

函数指针总结

最近复习c语言,这里总结一下函数指针。
首先是一般函数指针的定义。
其中两个括号是不可缺少的,(*funcPtr)表明funcPtr是一个指针,(char *, int)表明func是一个函数,函数参数为char *和int,返回值为int。接下来看下一个

阅读全文 2013年09月21日 分类:学习笔记C++

c++运算符重载总结

c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。

1.一般运算符重载

在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简单,就是在类里面定义了一个与操作符相关的函数。友元函数因为没有this指针,所以形参会多一个。

阅读全文 2012年09月28日 分类:学习笔记C++

c#解析FLV文件

在上一篇FLV文件格式解析中,我们对FLV的文件结构有了一定了解,现在我们就可以对FLV文件解析解析了。我这里用的是c#,只要理解了过程java、c++都是可以的。

1.工具类

在解析的过程中,我们会和byte做各种运算,所以我定义了一个byte工具类ByteUtils:

阅读全文 2012年09月24日 分类:学习笔记C#图像处理

TCHAR,WCHAR,LPSTR,LPWSTR和LPCTSTR

从现在开始要进入嵌入式的开发了,复习一下c语言,先从基本的数据类型开始。TCHAR,WCHAR,LPSTR,LPWSTR和LPCTSTR,这几个看起来差不多,也很容易混淆,他们都是跟字符有密切关系的。要想知道他们的由来以及作用就必须先了解字符的编码。

阅读全文 2012年09月15日 分类:学习笔记C++

用c#写的directshow简易视频播放器

很久没动directshow了,现在一直用c#写程序,突然看到directshow在.net下也有library,于是想试试在.net下的directshow。这个播放器是参照directshownet library中的例子改的,自己加了一些控制方面的。
先说一下directshownet,这是一个用c#写的directshow类库,是一个开源项目,sourceforge主页:http://directshownet.sourceforge.net/。不过这个项目关注的人不是很多,代码也很久没更新了,毕竟使用directshow的大都是c++项目,实现起来也是c++更高效。在.net里也可以调用VB的directshow类库来实现,不过我觉得这样太麻烦了,还是用directshownet这个现成的类库来的快。

阅读全文 2012年09月10日 分类:学习笔记C#

文件批量重命名小软件ReFileName

自己编写的一个小软件,使用正则批量替换文件名的小工具。要说编写这个小软件的原因嘛,就是从网上下了一部电视剧或动漫后发现文件名长的要命,放电脑上放还好,要是放手机或其他小屏幕的设备上的话,看个名字都要等他慢慢滚动过来。使用rename嘛,太麻烦,也不想记这么多命令,最后想到了正则。文件名就是字符串,用正则的话真是恰到好处。

阅读全文 2012年08月29日 分类:学习笔记C#个人作品

C#实现win7任务栏进度条

用过win7的人都知道,当我们用IE或firefox下载某个东西是任务栏上就会出现进度条,这大大增加了界面的友好程度,如下图所示。那我们怎么用c#来实现呢?

任务栏进度条并不是在.net框架里的,当时我在.net里找了很久,走了不少弯路,惭愧啊!

由于.net是面向所有windows平台的,win7只是一个特例,微软也不会为了一个win7就增加.net的容量。win7的任务栏进度条有一个专门的类TaskbarManager,他在Windows API Code Pack里面,下载地址:http://archive.msdn.microsoft.com/WindowsAPICodePack 里面包含了所有的源代码以及大量的示例,并附有文档

阅读全文 2012年04月14日 分类:学习笔记C#

C#重定向ffmpeg输出流

最近用c#做了一个ffmpeg的gui,用来合并、切割视频,其中需要把ffmpeg.exe的输出流显示出来,这就需要重定向ffmpeg的输出流,这个方法也适用x264、mencoder这些编码器的重定向。
c#要调用外部程序有许多方法,我这里选用调用Process的方法,也就是新建一个ffmpeg的进程,具体代码如下。

阅读全文 2012年04月12日 分类:学习笔记C#x264

Ubuntu下Eclipse的配置

最近要学嵌入式,电脑上装了Ubuntu 12.04,gcc的命令行实在用的别扭,于是又装了Eclipse,但死活不能运行,总是有“launch failed. Binary file not found.”的错误。在网上找了一天终于解决了,写出来给大家看看。

首先安装Eclipse,可以到Ubuntu自带的软件中心搜索Eclipse,点击安装就行了。或者进入终端输入:

阅读全文 2012年03月09日 分类:软件学习笔记C++Ubuntu

指针和数组的区别

一说到指针和数组,大多数人都认为两者是等价的,在大多数的情况下,指针和数组可以相互替换着用,但两者还是有很多不同的。
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。

阅读全文 2012年01月10日 分类:学习笔记C++

c++中的lambda表达式

随着vs2010的推出,c++有了更多的特性,其中最诱人的就是lambda表达式的引入了。lambda表达式也就是匿名函数,和c#中的lambda表达式是同一个意思,不过在c++中他的写法有点不一样,下面我就来介绍c++中lambda表达式的格式。

阅读全文 2012年01月05日 分类:学习笔记C++

指针的引用

MFC真是博大精深,看了下比较复杂的类就快晕掉了,上网查了下才发现是指针的引用。
对于c语言,最最精华的部分就是指针了,然而最难学的也是指针,当然了还有引用。
指针(*)可以理解为指向变量或函数的变量,里面放的是变量或函数的地址。引用(&)的话是变量或函数的别名,没有实际存储空间。

阅读全文 2012年01月02日 分类:学习笔记C++C#

求多边形面积的简单方法

不论凸多边形还是凹多边形,都可以采用向量叉乘的方法来求面积。
向量叉乘的模等于以他们为相邻边的平行四边形的面积。
所以,该两向量组成的三角形的面积为平行四边形的面积的一半。
最后的结果要除以2。

阅读全文 2012年01月01日 分类:学习笔记C++

正则表达式详解

正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

阅读全文 2011年12月05日 分类:学习笔记C#
阅读全文 2011年12月05日 分类:学习笔记C#
阅读全文 2011年11月29日 分类:软件