自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (7)
  • 收藏
  • 关注

原创 DLL Hell的产生和如何有效的避免

Dll Hell究竟是何物DLL HELL字面意思是DLL"地狱",是由于DLL组件升级引起的程序不能运行的情况。共享模块常常被编译为Dll文件。Dll共享的方式虽然很不错,但是它自身存在致命的缺陷。由于Dll模块可以被重用,这样多个程序可能使用一个Dll模块 ,如果这个Dll模块升级了,就很有可能出现其中某个程序无法和新的Dll模块很好的兼容起来,导致程序不能运行的情况,这种情况

2013-10-25 17:40:41 2057

转载 Java开发中的23种设计模式详解

设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真

2013-04-16 14:22:09 533

原创 Wince内存泄露检测工具Application Verifier的使用和如何快速定位泄露语句(二)

通过Application Verifier在wince端生成日志文件后,我们将文件拷贝到PC上通过PC端的工具进行日志分析,我们就可以定位出泄漏地址的代码行位置了,这里有个前提条件,那就是需要我们在编译程序时将程序的调试信息打开,VS2008设置选项配置方法如下:1.配置属性 => C/C++ => 常规 => 调试信息格式 => 程序数据库(/Zi)2.配置属性 => 链接器 => 调

2012-11-29 18:28:28 1790 1

原创 Wince内存泄露检测工具Application Verifier的使用和如何快速定位泄露语句(一)

大家在wince开发过程会发现跟PC上的开发的差距很大,一些在PC上的调试技巧之类的辅助功能都无法使用,比如内存泄露的检测等,那么这篇文章就是告诉大家如何使用wince上的内存检测工具帮助大家找出内存泄露。这里给大家介绍的软件为Application Verifier,是微软自己开发用于监测wince系统的内存和一些内核对象未释放造成内存泄露的辅助工具。该工具只需要在wince上运行指定监控的程序

2012-11-29 16:41:28 3422 3

原创 SendMessage不为人知的秘密

SendMessage的说明我这里就不再复述了,相信大家应该都很了解,写这篇文件的目的就是让大家更好的了解SendMessage机制和运行原理,好吧我们开始吧。SendMessage的调用如果是在窗口消息线程本身调用时是直接调用程序的WinProc的消息处理函数的,那么在其他线程是怎么样的呢,那么这个问题就是我写这篇文章的主要目的。当系统发现调用SendMessage的代码处于非窗口线程那么该

2012-11-29 12:14:51 1213

原创 关于多线程操作同步对象造成死锁的解决方式(二)

上篇文字介绍到如果有效避免死锁的发生,那么这篇文件将介绍当死锁发生时我们如何知道并能够得知死锁发生的情形,然后快速解决它。 那么这篇文章主要讲解原理性东西不会贴很多代码,下面进入正题。      在上篇文件定义了自动锁安全类后,我们看到有些函数进行了重载,其中参数有文件名,函数名,代码行等参数,那么这个信息就是帮助我们定位死锁时代码执行到哪个位置的信息,那么我们如何传入这些参数呢?我们可以用宏

2012-11-28 18:52:13 1188

原创 关于多线程操作同步对象造成死锁的解决方式(一)

在多线程编程成中经常需要进行数据同步等操作,在临界区等对象使用时容易出现忘记退出临界区操作或中间执行的代码发生异常导致退出临界区代码未被正常执行,这个时候就很容易出现死锁现象了,那么我们这么解决上述问题呢?         这个问题解决的办法其实很简单,采用临时对象的方式去解决,也就是写一个自动锁的类,这个类用于接收一个临界区指针或引用,在构造时自动进入临界区,析构时自动退出临界区,那么我们也

2012-11-28 18:13:46 1289 7

原创 wince多线程上使用FindWindow可能导致死锁

今天同事问我这个事情,我原本也不大相信的后来测试发现果真存在这个问题,PC上不存在的,测试代码如下:DWORD WINAPI TestThreadProc(void * pParam) // 查找Window句柄线程{printf("\nStart:%s\n", __FUNCTION__);FindWindow(NULL, L"asdasdqwejqwe");

2012-10-12 15:23:48 1154

原创 Wince如何生成Dump文件,通过Windbg进行错误现场还原和Bug修复

本文来源于本人的培训PPT文档,时间原因,本人也就懒得去重新梳理这些文本的表达方式了,看起来可能有些吃力,还望见谅,下面就开始正题吧。当我们编写的程序出现错误现象时,我们是怎么去解决的?让测试人员复现错误步骤,然后调试。分析错误发生原因,然后调试工程试图复现错误。根据错误地址查找错误代码行。增加日志输出记录函数运行的流水线。......

2012-10-08 18:04:30 1962 1

转载 深入探索Win32结构化异常处理

文章来源:http://blog.csdn.net/diamont/article/details/4259590在Win32操作系统提供的所有功能中,使用最广泛而又没有公开的恐怕要数结构化异常处理( Structured Exception Handling ,SEH ) 了。当你考虑Win32结构化异常处理时,也许会想到__try、__finally和__except等

2012-09-11 18:01:09 1065

转载 成员函数指针与高性能的C++委托(下篇)

Member Function Pointers and the Fastest Possible C++ Delegates撰文: Don Clugston翻译:周翔(接中篇)委托(delegate )和成员函数指针不同,你不难发现委托的用处。最重要的,使用委托可以很容易地实现一个Subject/Observer设计模式的改进版 [GoF, p. 293]

2012-04-27 16:50:59 348

转载 成员函数指针与高性能的C++委托(中篇)

Member Function Pointers and the Fastest Possible C++ Delegates撰文: Don Clugston翻译:周翔(接上篇)成员函数指针——为什么那么复杂?类的成员函数和标准的 C函数有一些不同。与被显式声明的参数相似,类的成员函数有一个隐藏的参数 this ,它指向一个类的实例。根据不同的编译器, th

2012-04-27 16:50:24 254

转载 成员函数指针与高性能的C++委托(上篇)

引子标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做"闭包(closure)"或"委托 (delegate)")在一些语言中已经证明了它宝贵的价值。在Delphi (Object Pascal)中,面向对象的函数指针是Borland可视化组建库(VCL,Visual Component Library)的基础。而在目前,C#使"委托"的概

2012-04-27 16:49:21 269

原创 DirectUI下不规则按钮的点选方式

相信很多同学在开发界面时总会出现一些不规则形状的控件需要进行精确的点选的问题。开发MFC的都会通过读取一张位图或者Png图,通过颜色值判断合并到一个CRgn(HRGN)多边形区域,然后设置到窗口上,windows会自动处理点选的情况。但是在DirectUI上全局都只使用一个窗口进行贴图绘制的,上面的方式显然不是很方便,但是还有种方式可以解决的,那就是OpenGL 中的颜色颜色拾取。首先

2012-04-06 17:47:10 982 2

原创 关于多继承,dynamic_cast转换失败的问题

今天在编写程序时,需要将一个基类指针安全转换成子类指针,采用C++的dynamic_cast进行动态类型转换,正常情况下能进行转换则返回转换成功后的指针,转换失败则返回NULL,但是我进行编码测试时确实已经确定了基类和子类都是正常的但始终返回NULL,后面查出,原来子类是私有继承自基类的,导致转换失败,改为公有继承则转换成功。代码模型如下class Base{};cla

2011-11-24 11:47:34 2873

原创 不定参函数使用纪要

int FormatString(const char * szFormat, const char * pTest, ....){char szBuf[1024] = {0};  va_list argptr;  va_start(argptr, pTest);//此处第二个参数为,从指定变量的地址后,开始取参数列表  szBuf[1023] = '\0';  _vs

2011-11-01 11:15:30 367

原创 win32上多线程使用setTimeEvent可能引起死锁

今天在写UI框架的时候需要定时器主动刷新UI,用普通WM_TIMER事件不能满足需求,所以换成setTimerEvent函数,当在多线程时同时访问时就出现死锁。原因为在setTimerEvent的回调函数调用前系统会做同步操作(临界区),而刚好在回调函数中有自己的临界区操作,而刚好在另外一线程进入该临界区后调用setTimerEvent函数时就会出现死锁。

2011-10-28 14:56:09 1812 1

Fw_ Fw_ TDA-7786C_M开发资料和附件信息反馈要求.zip

Fw_ Fw_ TDA-7786C_M开发资料和附件信息反馈要求,很详细的资料,包含硬件资料,TDA7786-常见问题参考手册

2020-08-03

windows ce remote process explorer

windows ce remote process explorer,wince下同步查看进行内存,线程,模块等信息的工具,也可进行崩溃地址定位代码行。

2012-11-29

Application Verifier PC端工具包

Application Verifier PC端工具包,可用于连接wince5.0的内存泄漏检测工具。

2012-11-29

Application Verifier For Wince5.0

Application Verifier For Wince5.0,wince 5.0上内存泄漏监控工具

2012-11-29

Application Verifier For Wince6.0

Application Verifier For Wince6.0,wince6.0下监控内存泄漏的工具

2012-11-29

多线死锁解决方案

具体说明请查看:http://blog.csdn.net/flyound/article/details/8235667

2012-11-28

C#端口多线程扫描

一个多线程的网络端口扫描器

2007-06-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除