代码改变世界

随笔档案-2013年07月

Windbg源码调试

2013-07-30 01:24 by 鉴于, 1861 阅读, 收藏,
摘要: Windbg 源代码调试 阅读全文

C++ static_cast dynamic_cast reinterpret_cast const_cast转换

2013-07-28 21:42 by 鉴于, 283 阅读, 收藏,
摘要: static_cast ( expression ) 和C风格的类型转换相似,可以转换一个指针到基类,或者派生类。不做Run-time类型检查,这样转换并不总是安全的。也可以转换枚举类型到int或者int到float。使用static_cast从基类指针转换成派生类指针可能不安全,因为派生类可能有基类没有的函数或者变量。但是从派生类指针转换成基类指针,通常是安全的。reinterpret_cas... 阅读全文

条件断点设置

2013-07-28 00:12 by 鉴于, 374 阅读, 收藏,
摘要: Alt+F9 或者菜单栏【调试】->【窗口】->【断点】 弹出断点窗体,选中断点可以设置命中条件和命中次数,在循环中调试很有帮助。 阅读全文

FFmpeg 2.0编译配置

2013-07-27 12:16 by 鉴于, 459 阅读, 收藏,
摘要: ./configure --enable-shared --enable-doc --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-ffserver --enable-w32threads --enable-network --enable-decoder=h264 --enable-decoder=mpeg2video --e... 阅读全文

error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7

2013-07-27 12:14 by 鉴于, 1502 阅读, 收藏,
摘要: 工程使用了DirectDraw,编译出错 error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7 解决办法是吧dxguid.lib添加到工程中,把lib所在目录添加到工程中 阅读全文

Windbg常用命令

2013-07-27 11:16 by 鉴于, 492 阅读, 收藏,
摘要: !analyze –v 显示当前异常的信息 .sympath[+] [Path [; ...]] 用于添加或设置符号路径或显示当前的符号路径 .symfix[+] [LocalSymbolCache] 用于将符号路径设置为微软网站上的符号存储位置 .srcpath[+] [Directory [; ...]] .lsrcpath[+] [Directo... 阅读全文

DDraw绘图

2013-07-16 01:02 by 鉴于, 2185 阅读, 收藏,
摘要: 微软已经提供了GDI+绘图方式,但是GDI+绘图较慢,另外微软提供了效率更高的DirectDraw绘图方式。DirectDraw提供硬件加速功能。 首先需要确保电脑上的Ddraw硬件加速功能已经打开,安装DirectX March 2009之后,可以在【开始】菜单->运行 Dxdiag 命令,检查是否打开硬件加速。如图1: 如果DirectDraw加速未启用,需要更新驱动。 开始使... 阅读全文

MFC无边框窗体不响应任务栏点击问题

2013-07-16 00:58 by 鉴于, 877 阅读, 收藏,
摘要: 为了提升用户体验,需要隐藏主窗体的边框,使用图片绘制新的标题栏。标题栏绘制之后,发现用户点击任务栏上应用程序的图标,应用程序不会随着点击交替隐藏显示。分析结果是问题出现窗体风格设置上。 最初为了省事从别的地方拷贝了以下三行用来隐藏标题栏和菜单 SetWindowLong(this->m_hWnd, GWL_STYLE, 0); SetWindowLong(this->m_hWnd, GWL_EXSTYLE, 0); this->SetMenu(NULL); 问题肯定出在这三行代码上,查看MSDN,SetWindowLong用来设置窗体风格。在调用SetWindowLong之. 阅读全文

监控告警配置的显示

2013-07-16 00:50 by 鉴于, 544 阅读, 收藏,
摘要: IPC会将监控区域划分成多个小块,按块提供是否监控配置。这时监控客户端需要提供配置界面,显示视频时也需要在视频上画上多行多列的线,同时对告警区域填充颜色。一种办法是对转成RGB24的图像数据直接进行象素处理。 由YV12转成RGB24后图像在内存中排列顺序为BGR BGR BGR 。。。BGR而且是图像从左到右,从下到上排列。B是Blue象素的值,G是Green象素的值,R是Red象素的值。为了处理方便定义了一个BGR的宏#define BGR(b,g,r) ((COLORREF)(((BYTE)(b)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE) 阅读全文

视频监控---存储磁盘选择

2013-07-16 00:48 by 鉴于, 589 阅读, 收藏,
摘要: 通常监控客户端会安装在系统盘上,但是如果将本地录像视频也保存在系统盘上,将可能很快占用光系统盘资源而导致系统无法正常运行。安装时可以考虑枚举各个磁盘,判断剩余空间大小,将剩余空间最大的盘作为录像存储磁盘。 1. 利用GetLogicalDriveStrings列出所有盘符,如: c:\ d:\ 各个盘符之间会用null隔开。 TCHAR szDiskArray[1024... 阅读全文

Apache log4cxx用法

2013-07-16 00:38 by 鉴于, 1126 阅读, 收藏,
摘要: Apache Log4cxx 用法 阅读全文