WUYUANS
Just for Sharing

文件批量重命名小软件ReFileName

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

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

java解析sina视频

在上一篇java解析youku视频中我们通过解析youku的视频得到了真实的下载地址,这次来看看sina的视频,道理还是一样的,使用firebug来查看web连接,得到记录视频信息的文件。

阅读全文 2012年08月10日 分类:学习笔记网络Java

java解析youku视频

最近做了一个在线视频的下载器,需要解析youku的视频,获得真正的视频地址,现在把解析过程记录下来以供参考。
为了能看清楚youku视频的播放过程,可以使用火狐的插件firebug对网页进行跟踪,如下图。

阅读全文 2012年08月07日 分类:学习笔记网络Java

Eclipse在android真机开发中file explore为空

在用android真机进行程序调试时,使用Eclipse的file explore看不到手机上的文件。
解决方法:

1.打开模拟器,把模拟器上的/system/bin/toolbox 导出到电脑上
2.把toolbox文件push到手机sd上,有些地方不一定有权限,sd卡是可以读写的。

阅读全文 2012年07月22日 分类:学习笔记Android

Debian安装总结

折腾了一天终于把Debian装好了,总结一下安装过程中遇到的问题。

1.内核版本问题。

我在官网下载的是Debian-6.0.5-i386-DVD-stable的安装镜像,安装好之后发现内核却是64位的,uname显示amd64。64位的内核其实也没什么坏处,但我在编译显卡驱动的时候提示错误,因为显卡驱动会被编译成64位,但我的系统除了内核是64位外其他都是32位的,所以显卡驱动装不上去。

阅读全文 2012年07月18日 分类:学习笔记Debian

关于fread读取的长度问题

在使用fread读取一个位图文件的时候,发现总是无法读取后面的一些字节,观察fread的返回值,并不是正确的读取次数,看来是最后几次读取没有成功。

首先查看是否单次读取超出了限制,这是fread的函数原型:

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

linux下编译调试x264

在《VS2010编译x264(20091006)》中我们用vs2010编译了x264,但是过程很复杂,而且版本还是09年的,今天我将介绍在linux下编译最新版的x264,而且可以调试,近距离观察h264编码实现的每个细节。

阅读全文 2012年06月17日 分类:学习笔记x264Ubuntu

malloc/free和new/delete

如果使用堆栈存储和静态存储就能满足应用要求,那么就不要使用动态存储。

内存的分配方式有三种:从静态存储区域分配、在堆栈上分配和从堆或自由存储空间上分配。第三种也叫动态内存分配,相比前两种,动态分配要麻烦,而且更危险,所以尽量不要使用它。

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

c语言中常用数据类型的字节数

数据类型的长度跟编译器和系统有关,比如在windows下的32位编译器下的数据类型字节数:

char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节

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

github简单使用教程

github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O~。下面是我总结的一些简单使用方法,供初学者参考。

1.注册账户以及创建仓库

要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。

阅读全文 2012年05月29日 分类:软件学习笔记网络

重装windows后修复Ubuntu引导

最近重装了win7,开机后进不了grub菜单,需要重新安装grub。这里我用live CD的方法来重新引导ubuntu,当然也还有其他的方法,就不介绍了。
首先,插入live CD的光盘或者usb,try ubuntu without install。
进入后,启动终端,sudo -i,获得超级用户权限,使用fdisk -l查看分区状态。比如我的电脑:

阅读全文 2012年05月23日 分类:学习笔记Ubuntu

Eclipse和vs2010自动排版快捷键

用了这么久vs2010才发现,他也是可以自动排版的。泪奔。。。

VisualStudio2010自动排版快捷键:

全部代码排版:ctrl+E,D 按住ctrl,相继按下E、D 选定代码排版:Ctrl+E,F

vs2010常用快捷键:

Ctrl+Shift+U:变为大写(一般常量都用大写) Ctrl+U:变为小写 Ctrl+J:显示成员列表(光标移到.后面才会显示,不过一般敲完.后会自动出来,修改代码的时候比较有用) Ctrl+.:自动using(光标移到未using命名空间的类上)

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

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#

ffmpeg分割视频的方法

ffmpeg可以说是一个比较全能的编码器,在ffmpeg命令详解中我列出了所有ffmpeg的命令,但我在分割视频的时候视频被他重新编码了,明明是copy却变成了encode。

阅读全文 2012年04月13日 分类:软件学习笔记x264

C#重定向ffmpeg输出流

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

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

Ubuntu下安装ati显卡驱动

为了开启特效必须安装显卡驱动,在Ubuntu下安装ati显卡的驱动有两种方法:

一是使用系统推荐的,系统菜单→系统管理→硬件驱动,这里面会有一些未激活的显卡驱动,只要激活就可以用。缺点就是他们的版本比较老,但也相对稳定,对于希望系统稳定的可以用这些。

阅读全文 2012年03月10日 分类:学习笔记Ubuntu

Ubuntu下Eclipse的配置

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

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

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

Java学习笔记之流

在Java中数据的输入和输出以流(stream)的方式进行,相对应的Java给我们提供了各种各样的流的类,通过这些类我们就可以方便的完成数据的读取和写入。

按照数据流的方向可以分为:输出流和输入流。
按照处理数据单位的不同可以分为:字节流和字符流。
按照功能的不同可以分为:节点流和处理流。

阅读全文 2012年03月06日 分类:学习笔记Java

Java学习笔记之接口

在C++中一个类可以继承另一个类,也可以继承多个不同的类,但在Java中为了避免多个父类中的方法或属性名字相同,只能继承一个类,但是Java又提出了接口(Interface)这个概念。大致上来说,接口是抽象方法和常量值的定义的集合。本质上说,接口是一种特殊的抽象类,他与抽象类很类似,在接口的里面只有方法和常量值的定义,没有变量和方法的实现,谁继承了接口谁就要实现里面定义的方法。在Java中一个类只能继承一个类,但能继承多个接口,这样我们在Java中也可以实现多继承。

阅读全文 2012年03月04日 分类:学习笔记Java

Java学习笔记之内存分析

在上一篇《Java学习笔记之数据类型》中对Java的数据类型进行了分类,为了更好地理解他们的不同之处,我将对他们在内存中的存储进行分析。

我们先说说总的运行过程,在程序运行的时候,硬盘中的程序片段被加载到内存中,操作系统找到程序中的main方法,由此进入程序一步步执行,运行结束后操作系统释放这段内存。在这过程中最重要的就是程序执行过程中的内存分配方式,也就是内存管理。内存可以分为四个区域,如下图所示:

阅读全文 2012年02月22日 分类:学习笔记Java

Java学习笔记之数据类型

在编程语言中从面向过程的c,到既面向过程又面向对象的c++,再到完全面向对象的c#,面向对象是未来发展的趋势。在面向对象的编程语言中Java是现在比较热门的,我将自己对Java的学习过程记录在这里,希望对别人能有所帮助。

进入正题,这篇文章主要讲Java的数据类型,Java的数据类型大致上可以分为两种:基本数据类型和引用数据类型。

阅读全文 2012年02月21日 分类:学习笔记Java

指针和数组的区别

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

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

c++中的lambda表达式

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

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

ffmpeg+neroaacenc压制多声道音轨音频

现在视频压制中x264是主流,在音频中aac无疑是霸主,本篇文章将讲解用ffmpeg+neroaacenc压制多声道音轨音频的方法。
现在很多的片源都是高码率H264+DTS的组合,有些还有多音轨,比如影片的评论音轨、其他语言音轨,但为了让压制后的视频文件尽可能的小,会挑出中文音轨,把多声道的合并成双声道。当然也可以用视频转换软件,我这里要讲的是用ffmpeg+neroaacenc的命令行压制方法,这种方法效率更高。

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

视频编码基础--帧的类型

自从上次编译x264之后一直在看x264的技术手册,专业名词太多了。没办法,从头学起吧,先从最基本的学起–帧的类型。
我们都知道视频是由图片构成的,就像早期的胶片电影一样,一幅幅图片连续播放就形成了视频,在视频中我们管这些图片叫帧。在x264中有三种基本的帧类型:I帧、P帧和B帧。

阅读全文 2012年01月03日 分类:学习笔记x264图像处理

指针的引用

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

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

求多边形面积的简单方法

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

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

调用静态链接库lib

接上一篇,完成lib创建后就可以调用他了。
先在项目属性、VC++目录中添加此库文件目录。
然后选择连接器、在附加依赖项中输入factorial.lib。
或者在程序函数体外添加:
#pragma comment(lib,“factorial.lib”)

阅读全文 2011年12月31日 分类:学习笔记C++

创建静态链接库lib

启动VS2010,文件、新建、项目、WIN32项目。 下一步,选静态库,完成。

添加新建项:factorial.h

阅读全文 2011年12月30日 分类:学习笔记C++

调用动态链接库dll

接上一篇,完成dll创建后就可以调用他了。

先在函数外部声明。

阅读全文 2011年12月29日 分类:学习笔记C++