摘要:其实我一直就以为printf中的%f是double类型的,可是有朋友却说是float类型的,%lf才是double类型,在查阅MSDN和Linux手册后,找到的说明确实%f是double类型,但我还是决定再做个实验证明一下。而且,我还发现,float类型在参数传递时,是会被转换成double的。
阅读全文
随笔分类 - 技术类
摘要:ffdshow是Windows平台上的一个支持多种视频格式的开源解码器。它包含一系列的DirectShow Filter,用来对各种视频流格式做编解码。
因为最近想做个用于项目测试的视频解码器,所以才尝试对ffdshow做一些了解,但是初次接触这个功能强大的解码器,从安装到构建成功第一个 FilterGraph,我用了一个星期的时间!这期间遇到过很多的问题,也浪费了我相当多的时间。为了让更多的朋友少走弯路,我把这个从安装到构建的过程大致记录下来,供你们参考。
阅读全文
摘要:最近想做一个播放使用DirectX播放PCM音频的程序,需要解析WAV文件,于是在网上搜索了一下,结果还是很多的,不过基本都是两篇文章的复本。
随后按照文章上所说对一个WAV文件做了一下解析,但结果发现解析的结果和文章中所说的并不相同,这让我大为困惑。
用WinHex查看了一下那个WAV文件,发现它的文件头不只有网上文章中所说的那些,这就奇怪了,难道网上的文章不对吗?
阅读全文
摘要:书接上文。上篇的最后,提到了事件注册程序存在的风险,现在让我们来着手解决吧!
首先,我们来分析一下风险形成的原因:
Step 1. 声明类A的成员函数指针,并让它指向类A的一个成员函数
Step 2. 将类B实例的指针强制转化为类A的指针,并通过它来调用类A的成员函数指针。因为类A与类B的结构是不一样的,所以这样做的结果也是不可预期的。
阅读全文
摘要:接上一篇《C++模板实现事件处理器中的“通用成员函数指针”的调用(一)》
上一篇的最后,好像缺了点东西,呵呵,看来我还得给他补上。您有没有发现FuncItem有点问题吗?谁来给成员handler赋值呢?交给构造函数吧,改造后的FuncItem如下:
阅读全文
摘要:我最近在实现一个事件处理器,应用到了一种“通用成员函数指针的注册”,先声明,这个名词是我给起的,不过我觉得并不充分恰当,但也想不出什么更好的词,看完下面的介绍,也考考您,看这玩意叫个啥比较合适。
先说需求:这个事件处理器需要在捕获一个事件后,调用已注册的处理函数。看起来很普通,呵呵,不过,这个事件处理函数不一定是哪个类的成员函数(但肯定是成员函数),函数的形式是一定的,即拥有相同的返回类型和参数列表。而这些事件和处理函数,注册在一个全局的结构体中。
阅读全文
摘要:我是做Linux下服务器开发的,参与的项目都是在已经应用的代码上再开发新的功能。暂且放下什么代码清晰、注释清楚这一类老人的教诲,来看看这些项目中打印的日志。至于为什么要定个原则再打日志,估计很多人心里也有数,但是,具体要定个什么样的原则呢?暂且看看在我的项目中这些让人头疼的日志。
阅读全文
摘要:研究了一下C++中的临时对象,对临时对象的引用,和临时对象的指针的区别及用法
阅读全文