DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
上一页 1 ··· 409 410 411 412 413 414 415 416 417 ··· 474 下一页

2013年7月15日

摘要: 强调一点:#pragma pack(4)typedef struct{ char buf[3]; word a;}kk;#pragma pack()对齐的原则是min(sizeof(word ),4)=2,因此是2字节对齐,而不是我们认为的4字节对齐。 这里有三点很重要:1.每个成员分别按自己的方式对齐,并能最小化长度2.复杂类型(如结构)的默认对齐方式是它最长的成员的对齐方式,这样在成员是复杂类型时,可以最小化长度3.对齐后的长度必须是成员中最大的对齐参数的整数倍,这样在处理数组时可以保证每一项都边界对齐 补充一下,对于数组,比如:char a[3];这种,它的对齐方式和分别写3个c... 阅读全文
posted @ 2013-07-15 11:00 DoubleLi 阅读(2526) 评论(0) 推荐(0)

2013年7月11日

摘要: 考虑单窗口情况: 假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create。则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow(); 2. DestroyWindow会发送WM_DESTROY; 3. WM_DESTROY对应的消息处理函数是OnDestroy(); 4. DestroyWindow会发送WM_NCDESTROY; 5. WM_NCDESTROY对应的消息处理函数是OnNcDestroy; 6. OnNcDestroy最后会调用PostNcDestroy; 7. PostNcDestroy经常被用户重载以提供释放内存... 阅读全文
posted @ 2013-07-11 11:11 DoubleLi 阅读(10444) 评论(0) 推荐(0)

2013年6月25日

摘要: 经过一番查找,最给力的参考是http://www.cnblogs.com/visoeclipse/archive/2010/02/27/1674866.html-----------------------以下为转载--------------------------------------------------------------首先感谢这位几仁兄的几篇博客: http://hi.baidu.com/fairysky/blog/item/130dda13db7b050a5aaf53be.html http://hi.baidu.com/fairysky/blog/item/e7a... 阅读全文
posted @ 2013-06-25 14:52 DoubleLi 阅读(9289) 评论(0) 推荐(0)

摘要: 修改左上角的图标和任务栏里图标 在对话框构造函数中1 CTestDlg::CTestDlg(CWnd* pParent )2 : CDialog(CTestDlg::IDD, pParent)3 {4 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);5 } 改过后:1 CTestDlg::CTestDlg(CWnd* pParent )2 : CDialog(CTestDlg::IDD, pParent)3 {4 m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);5 ... 阅读全文
posted @ 2013-06-25 14:34 DoubleLi 阅读(7941) 评论(0) 推荐(0)

2013年6月24日

摘要: rc和rc2都是资源文件,包含了应用程序中用到的所有的资源。两者不同在于:rc文件中的资源可以直接在VC集成环境中以可视化的方法进行编辑和修改;而rc2中的资源不能在VC的集成环境下直接进行编辑和修改, 而是由根据需要手工地进行编辑。 在下面的地址找到关于RC2文件的描述: http://msdn.microsoft.com/zh-cn/library/y3sk7e6b(VS.80).aspx RC2文件:包含项目使用的附加资源的脚本文件。可以在项目的 .rc 文件的顶部包括 .rc2 文件。 .rc2 文件用于存放由多个不同项目使用的资源。不必为不同的项目多次创建相同的资源,而是可以将它们. 阅读全文
posted @ 2013-06-24 20:05 DoubleLi 阅读(3237) 评论(1) 推荐(1)

2013年6月19日

摘要: DLL搜索路径和DLL劫持环境:XP SP3 VS2005作者:magictong 为什么要把DLL搜索路径(DLL ORDER)和DLL劫持(DLL Hajack)拿到一起讲呢?呵呵,其实没啥深意,仅仅是二者有因果关系而已。可以讲正是因为Windows系统下面DLL的搜索路径存在的漏洞才有了后来的一段时间的DLL劫持大肆流行。 最近(其实不是最近,哈,是以前分析过,断断续续的……)简单分析了一个DLL劫持下载者的行为,感觉有必要写点东西说明一下。其实DLL劫持是比较好预防的,从编程规范上我们可以进行规避(后面会专门讲到),从实时防护的角度来讲我们也可以想出一些办法进行拦截。新的DLL劫持者. 阅读全文
posted @ 2013-06-19 11:17 DoubleLi 阅读(3646) 评论(0) 推荐(0)

摘要: 最近接手的一个项目开发中用到了很多第三方库,比如boost、gdal、xerces等等这些。从接手项目到现在从中学习到了很多之前从未见识过的东西。项目绝大部分都是前辈们写的,对于里面的对第三方库的管理我感觉是很不错的,所以记录下来以备后用,好的东西同时也应该分享给更多的可能会用到的。。。项目开发中,如果遇到不是自己开发的项目时,当需要另外的人去维护时,经常连正常的编译连接都不能通过,很多的都是需要设置一些工程属性什么的,搞了半天最终才能编译通过。像这些类似的体力活可能是大多数人不愿弄的。这里说的是对项目中所使用到的第三方库使用属性表进行统一管理起来,当在其他地方使用这些第三方库或者功能移植时. 阅读全文
posted @ 2013-06-19 10:46 DoubleLi 阅读(542) 评论(1) 推荐(0)

摘要: 调用DirectDraw接口步骤:1. 包含链接库ddraw.lib2. 初始化窗口类型(全屏独占时类型用popup)。3. 在初始化窗口后初始化DirectDraw(使用函数DirectDrawCreate)4. 创建DirectDraw实例指针lpDD。5. lpDD->SetCooperativeLevel设置显示全屏独占还是窗体。6. lpDD->SetDisplayMode(640,480,8)设置显示模式。7. DDSURFACEDESC ddsd的信息配置。8. lpDD->CreateSurface创建主页面。9. lpDDSPrimary->GetAt 阅读全文
posted @ 2013-06-19 08:50 DoubleLi 阅读(1207) 评论(0) 推荐(0)

2013年6月18日

摘要: 退出线程可以有四种方法:1.线程函数的return返回(最好这样): 其中用线程函数的return返回, 而终止线程是最安全的, 在线程函数return返回后, 会清理函数内申请的类对象, 即调用这些对象的析构函数. 然后会自动调用 _endthreadex()函数来清理 _beginthreadex(...)函数申请的资源(主要是创建的tiddata对象).2.调用 _endthreadex()函数 或 ExitThread()函数(最好不要): 如果使用这两种方法退出线程, 则不会执行线程函数的return语句, 所以就不会调用线程函数作用域内申请的类对象的析构函数, 会造成内存泄露... 阅读全文
posted @ 2013-06-18 16:23 DoubleLi 阅读(1736) 评论(0) 推荐(0)

2013年6月17日

摘要: 做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人而言,至关重要。本文就是根据我的学习和了解,简单地介绍如何分析YUV数据流。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 与我们熟知的RGB类似,YU... 阅读全文
posted @ 2013-06-17 23:46 DoubleLi 阅读(4589) 评论(0) 推荐(0)

上一页 1 ··· 409 410 411 412 413 414 415 416 417 ··· 474 下一页