2006年03月
免费的在线阅读电子书
http://www.itzero.com/0day/0day_ebook_OL_read/Index.html
阅读全文>
发表于 @ 2006年03月23日 09:49:00|评论(loading...)|编辑
今天在用优化代码时发现有几个程序在 DevPartner Performance Analysis 中始终没有源代码分析结果。
开始还以为是 DevPartner Performance Analysis 设置问题,弄了半天,后来经过仔细比较,原来是程序中包含了一个用于优化程序大小和速度的头文件, 而这个头文件中又包含了下列语句
#pragma comment(linker,"/merge:.text=.data")
就是加上这个合并段后优化导致 DevPartner Performance Analysis 认为程序没有源代码,郁闷郁闷!把这句话注释掉后 DevPartner Performance Analysis 就分析正常了。阅读全文>
发表于 @ 2006年03月10日 18:50:00|评论(loading...)|编辑
解开 Windows 下的临界区中的代码死锁
Matt Pietrek和 Russ Osterlund
本文假定您熟悉 Win32、C++ 和多线程处理。
下载本文的代码:CriticalSections.exe (415KB)
摘要
临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。 本文深入研究临界区的原理,以揭示在查找死锁和确认性能问题过程中的有用信息。它还包含一个便利的实用工具程序,可以显示所有临界区及其当前状态。
在我们许多年的编程实践中,对于 Win32® 临界区没有受到非常多的“under the hood”关注而感到非常奇怪。当然,您可能了解有关临界区初始化与使用的基础知识,但您是否曾经花费时间来深入研究 WINNT.H 中所定义的 CRITICAL_SECTION 结构呢?在这一结构中有一些非常有意义的好东西被长期忽略。我们将对此进行补充,并向您介绍一些很有意义的技巧,这些技巧对于跟踪那些难以察觉阅读全文>
发表于 @ 2006年03月10日 10:54:00|评论(loading...)|编辑
今天打开一个 CHM 文件,突然就不能显示了,右侧显示 “无法显示网页" 上 Google 一查,说是什么因为打了新的补丁,安全性问题,要修改注册表等等,折腾了半天还是没用:(
最后,发现原来是我的目录名称有问题,目录名称中有 "#" 字符,去掉有 CHM 文件就显示正常了,真是服了 MS 了!
阅读全文>
发表于 @ 2006年03月08日 14:22:00|评论(loading...)|编辑