windows
jia162
暂无
展开
-
解开 Windows 下的临界区中的代码死锁(转)
摘要临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未 能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。 本文深入研究临界区的原理,以揭示在查找死锁和确认性能问题过程中的有用信息。它还包含一个便利的实用工具程序,可以显示所有临界区及其当前状态。在 我们许多年的编程实践中,对于 Win32® 临界转载 2008-01-07 00:05:00 · 483 阅读 · 0 评论 -
(转)译:理解 Win32 "OutputDebugString"
坚定的 Win32 开发人员可能对 OutputDebugString() API 函数比较熟悉,它可以使你的程序和调试器进行交谈。它要比创建日志文件容易,而且所有“真正的”调试器都能使用它。应用程序和调试器交谈的机制相当简单,而本文将揭示整件事情是如何工作的。本文首先是由以下事件促使的,我们观察到 OutputDebugString() 在管理员和非管理员用户试图一起工作或游戏时并不总是转载 2008-05-06 09:28:00 · 825 阅读 · 0 评论 -
(转)关于MFC42D.DLL
今天把自己写的程序“系统命令工具”给了一个网友,结果他运行出现了错误:没有找到MFC42D.DLL,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题。我为此迷惑不解,去查资料。谜 底是:其实一般在编程序时,都是生成了调试版的程序,就是在那个Debug目录下的可执行文件。运行这调试版的exe文件,都会动态连接 MFC42D.DLL和MSVCRTD.DLL这两个文件,所以你如果将这个文件转载 2008-06-30 09:40:00 · 1645 阅读 · 0 评论 -
(转)再谈非模态对话框的销毁
非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别 先看一下MSDN的原文:When you implement a modeless dialog box, always override the OnCancel member function and call DestroyWindow from转载 2008-09-27 14:54:00 · 482 阅读 · 0 评论 -
(转)如何让一个动态链接库文件debug和release编译的时候生成不同的文件名
果然,去掉DEF文件中的LIBRARY是问题的关键!不过用 #ifdef _DEBUG #pragma comment(linker, "/out:debug/test_d.dll") #else #pragma comment(linker, "/out:release/test.dll") #endif 有问题, LI转载 2008-11-14 17:27:00 · 1531 阅读 · 0 评论 -
转:堆和栈的区别(转贴,作者为一c++程序员,具体姓名不清楚)
一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)—> 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—> 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—>全局转载 2009-03-08 20:20:00 · 619 阅读 · 1 评论