hacqing

春风扫落叶...

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年1月30日

摘要: 1. 用c++写一个播放器dll交给c# ui使用.2. 代码大都是sdk example中扣出来的.3. 使用该播放器dll时, 内存以1k/s的速度递增, 句柄数也在增加.4. 很明显是由于某一个com引用未释放.5. 找呀找呀找...三个小时后...通过跟example中的代码比对之后, 发现了一个地方未释放一个session.处理后, while(true) 测试中...搞了一整天, 除了自己的机子外的所有机子上, windows系列都产生句柄泄露, 伤不起...虽说是线程句柄泄露了, 但是, 还是没有找到原因呀... 呀!!! 阅读全文
posted @ 2013-01-30 19:04 hacqing 阅读(131) 评论(0) 推荐(0) 编辑

2013年1月24日

摘要: 要求:使得图像像素1:1对应到屏幕坐标1> const DWORD Vertex::FVF = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1;2> D3DTEXF_POINT过滤采样;3> 世界矩阵偏移(-0.5f, -0.5f);4> (uMin, vMin, uMax, vMax) = (0.0f, 0.0f, imageWidth / textureWidth, imageHeight / textureHeight);注: 就水平垂直像素一个像素的偏移, 花了一天多的时间, 伤不起. 阅读全文
posted @ 2013-01-24 11:58 hacqing 阅读(283) 评论(0) 推荐(0) 编辑

2013年1月9日

摘要: 在模拟鼠标拖动窗口时, 如果使用MouseEventArgs e的坐标, 并且用鼠标拖动窗口到达一个新的位置时, 不松开鼠标, 会出现窗口闪动的情况.原因是: 一直在触发MouseMove事件, 这是由于e的坐标是相对于倒数第二个窗口位置的坐标, 在倒数第二个窗口位置变成最后一个窗口位置时, 此时鼠标相对于窗口的位置发生了变化, 虽然鼠标没有动了, 但是相对位置发生了变化也会触发MouseMove事件, 因此解决方法采用: 全局的鼠标位置, 就ok了. 阅读全文
posted @ 2013-01-09 19:11 hacqing 阅读(614) 评论(0) 推荐(0) 编辑

2013年1月8日

摘要: 在使用一块new的内存时, debug模式越界了, 没有立即报错, 过了一段时间后提示发生异常, 在_heap_alloc_dbg_impl中. 说访问了受保护的内存(堆栈信息不明确), 找了一些时间, 由于我是新增了一个小模块引起的, 采用了排除法, 最后找到了是由于自己粗心未注释掉一段无用的代码所导致的.总结: _heap_alloc_dbg_impl 异常由越界时候导致, 至于原因, 大概了解点, 就是debug模式下, 分配内存大小不一样, 就算你越界了也不会立即报错, 我的问题应该就是写坏了系统结构所引起的. 究其原因见http://blog.csdn.net/wang_junji. 阅读全文
posted @ 2013-01-08 19:09 hacqing 阅读(959) 评论(0) 推荐(0) 编辑

2012年12月4日

摘要: HDC srcHdc = GetDC(This->hwnd_); HDC destHdc = CreateCompatibleDC(srcHdc); //HBITMAP destBitmap = CreateCompatibleBitmap(srcHdc, 128, 128); BITMAPINFO bitmapInfo; ZeroMemory(&bitmapInfo, sizeof(BITMAPINFO)); bitmapInfo.bmiHeader.biSize = sizeof(BITMAPINFO); bitmapInfo.bmiHeader.biW... 阅读全文
posted @ 2012-12-04 15:50 hacqing 阅读(264) 评论(0) 推荐(0) 编辑

2012年11月2日

摘要: 在一个干净的win7的机子, 运行graphedit, 对比与自己机子上的directshow filter中的filter,把自己机子中多出来的filter使用Filmerit 删除filter, 然后重启graphedit不会奔溃了. 我使用debug后, graphedit提示栈溢出, 至于原因, 不晓得. 该方法可行, 我的机子上装了ffdshow, 我卸载了就好了, 也就是删除ffdshow对应的filter. 第二种解决方法就是, 不适用graphedit, 而是使用GraphStudioNext.exe, 这个比grapedit要强大. 阅读全文
posted @ 2012-11-02 10:11 hacqing 阅读(1111) 评论(0) 推荐(0) 编辑

2012年8月27日

摘要: 概率性bug发生时,如果猜测是哪里发生的,修改后,一定数量实例运行后不出现,再将修改的位置,复原为原来的代码,再进行测试,如果又概率出现,那么极有可能就是修改的位置概率性引起的bug。不过没有依据!!! 阅读全文
posted @ 2012-08-27 15:57 hacqing 阅读(122) 评论(0) 推荐(0) 编辑

2012年8月13日

摘要: #include <sys/types.h>#include <sys/time.h>#include <sys/ioctl.h>#include <sys/socket.h>#include <linux/types.h>#include <netinet/in.h>#include <netinet/udp.h>#include <netinet/ip.h>#include <netpacket/packet.h>#include <net/ethernet.h>#inc 阅读全文
posted @ 2012-08-13 11:59 hacqing 阅读(714) 评论(0) 推荐(0) 编辑

2012年6月14日

摘要: qt: server: 有QUdpsocket,QTcpServer。udp工作在另起的一个继承于QThread的线程中,QTcpServer监听在主线程中,在初始化的时候,先将udp起一个线程,在让QTcpServer监听,这样子就会有问题。顺序倒过来没有问题。 有时间去研究研究,特此摘记。 搞了大半天,终于解决了那个崩溃的问题,首先判断出来是爆栈,找到了那个最终导致爆栈的位置,注释掉就ok,但是程序结束的时候还是崩溃,最后定位到是vector引起的,伤不起,花了大半天。 阅读全文
posted @ 2012-06-14 15:29 hacqing 阅读(145) 评论(0) 推荐(0) 编辑

2012年5月5日

摘要: 昨天晚上8点的样子收到短信跟邮件说今天**公司邀请我去参加面试, 我没有投他们公司的简历, 看了一下任职要求, 感觉自己还差不多. 以下为任职要求:任职资格: 1、1-3年软件开发工作经验; 2、精通VC/C或C++,有优秀的VC/C++作品或有C/C++项目经验的; 3、对编写程序有极高兴趣; 4、熟悉windows/Linux平台下编程者优先考虑; 5、沟通能力强,语言表达清晰,逻辑性强。面试时间5月5日 11:00 看上去嘛, 自己感觉基本符合. 没有太去理会第二条中的精通c/c++, 毕竟毕业一年了, 心想应该主要的还是问c/c++的项目经验吧. 所以晚上就回想自己做的一些事情, 理. 阅读全文
posted @ 2012-05-05 20:23 hacqing 阅读(793) 评论(2) 推荐(0) 编辑