<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[崇山峻岭的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ncistcn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ncistcn]]></copyright><item><title><![CDATA[WinDbg关联dump文件]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/7778061</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/7778061</guid><author>ncistcn</author><pubDate>Tue, 24 Jul 2012 10:05:43 +0800</pubDate><description><![CDATA[Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Applications\windbg.exe]

[HKEY_CLASSES_ROOT\Applications\windbg.exe\shell]

[HKEY_CLASSES_ROOT\Applications\windbg.exe\shell\open]

[H]]></description><category></category></item><item><title><![CDATA[WinDbg Symbols path 设置]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/7198168</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/7198168</guid><author>ncistcn</author><pubDate>Fri, 13 Jan 2012 10:49:53 +0800</pubDate><description><![CDATA[e:\xxx\trunk\Product\debug;f:\sdk\Symbols;SRV*f:\sdk\Symbols*http://msdl.microsoft.com/download/symbols]]></description><category></category></item><item><title><![CDATA[IADORecordBinding::AddNew, 0x80040E21错误解决办法]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/6532483</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/6532483</guid><author>ncistcn</author><pubDate>Wed, 08 Jun 2011 18:36:00 +0800</pubDate><description><![CDATA[官网 http://support.microsoft.com/kb/294160 补充如果CADORecordBinding派生类中有自增长的列请注视掉//ADO_FIXED_LENGTH_ENTRY    (  1, adBigInt, m_liid, m_ulidStatus, TRUE)]]></description><category></category></item><item><title><![CDATA[VC++6.0调试篇：远程调试续--DLL篇]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/6198365</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/6198365</guid><author>ncistcn</author><pubDate>Mon, 21 Feb 2011 18:36:00 +0800</pubDate><description><![CDATA[					VC++6.0调试篇：远程调试续--DLL篇<br />http://blog.youkuaiyun.com/coding_hello/archive/2008/11/24/3364111.aspx<br /> <br /> <br />        在上一篇文章中提到exe的远程调试后，有人问怎么远程调试动态库，所以再发个远程调试的续篇补充一下。<br /> <br />        
基本流程还是一样的，只不过调试动态库的话，除了需要动态库本身外，还需要调用该动态库的执行程序。这里假设要调试的动态库]]></description><category></category></item><item><title><![CDATA[windows屏幕捕捉鼠标闪烁问题]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/6193018</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/6193018</guid><author>ncistcn</author><pubDate>Fri, 18 Feb 2011 11:57:00 +0800</pubDate><description><![CDATA[windows屏幕捕捉鼠标闪烁问题默认分类2009-12-02 21:17:39阅读250评论0  字号：大中小 订阅我们在用BitBlt函数进行屏幕捕捉时，若传递了CAPTUREBLT(捕捉alpha blending，即半透明窗口)标志，鼠标就会闪烁，这是为什么呢？下文是本人阅读英文解释后的个人理解：在windows2000及以后的系统上，鼠标及半透明窗口这两种图形对象是浮于桌面其他图形对象之上的，这里我们称它们为层叠窗口。层叠窗口并不存在于通常的显示场景(具体是在显示的哪一层，我也不清楚，姑且称它为场]]></description><category></category></item><item><title><![CDATA[关于AERO或WB主题等半透明窗口无法截图的解决]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/6146598</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/6146598</guid><author>ncistcn</author><pubDate>Mon, 17 Jan 2011 12:48:00 +0800</pubDate><description><![CDATA[<br />最近试过几套截图软件，发现其中有些无法实现对半透明窗口或主题的图片截取，包括早期版本的QQ截图工具也无法截取，于是打算写一个简单抓屏函数的来测试下，以下采用Win32 API方式编写：<br />HBITMAP CapScreen()<br />
{<br />
     HDC hDispDC,hMemDC;<br />
     // 获取屏幕DC<br />
     hDispDC = CreateDC("DISPLAY",NULL,NULL,NULL);<br />
    ]]></description><category></category></item><item><title><![CDATA[开源软件新时代：55个经典开源Windows工具]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/6096078</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/6096078</guid><author>ncistcn</author><pubDate>Fri, 24 Dec 2010 12:11:00 +0800</pubDate><description><![CDATA[开源软件新时代：55个经典开源Windows工具<br />开放源代码软件已经成为一个时髦的名词，这里有两个有力的证据：Firefox浏览器的下载人次超过了2500万；同
时，基于Linux的Web服务器也占据了最大的市场份额。人们普遍相信，开放源代码软件（open-source
software，简称OSS）要比专有软件系统（即声明用户不能分享或修改软件的软件系统）要更安全。这可能有两个原因：首先，由于开源软件的源代码是
向所有人开放的，因此任何人都可以找出并修补它的安全漏洞；其次，开源软件的流行程]]></description><category></category></item><item><title><![CDATA[抛砖引玉，贴一个计算声音大小的算法。]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/6026699</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/6026699</guid><author>ncistcn</author><pubDate>Mon, 22 Nov 2010 12:41:00 +0800</pubDate><description><![CDATA[<br />void CWaveOut::UpdateLevel(PBYTE pBuf, DWORD dwLen)<br />
{<br />
    if (m_wfx.nChannels == 1 && m_wfx.wBitsPerSample == 16)<br />
    {<br />
        short* pWave = (short*)pBuf;<br />
        int    nSmpl = dwLen / sizeof(short);<br /><br />]]></description><category></category></item><item><title><![CDATA[windows下实现微秒级的延时]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/6015541</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/6015541</guid><author>ncistcn</author><pubDate>Wed, 17 Nov 2010 18:28:00 +0800</pubDate><description><![CDATA[<br />1.微秒级的延时肯定不能基于消息(SetTimer函数),因为一出现消息堵塞等就会影响精<br />
度,而且setTimer单位才是毫秒.实际响应时间可能要到55毫秒左右.<br /><br />
2.微秒级的延时也不能不能基于中断,VxD最快的时钟服务程序Set_Global_Time_Out函数<br />
才能保证1毫秒的精度.其他挂接int 8H中断处理函数等,只能保证55ms的精度.(有时还不<br />
能)<br /><br />
3.因此可以想到汇编下的那种基于循环执]]></description><category></category></item><item><title><![CDATA[推荐一些经典书籍，100多本，Linux编程和Linux内核也很多]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/6012308</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/6012308</guid><author>ncistcn</author><pubDate>Tue, 16 Nov 2010 14:41:00 +0800</pubDate><description><![CDATA[<br />1.计算机科学概论<br />计算机科学概论<br />2.计算机数学基础<br />高等数学<br />线性代数<br />概率论与数理统计<br />离散数学及其应用<br />离散数学教程(北大版)<br />什么是数学<br />具体数学：计算机科学基础<br />3.C语言<br />谭浩强C程序设计<br />C primer plus<br />The C programming language<br />C和指针<br />C专家教程<br />C陷阱与缺陷<br />c语言解]]></description><category></category></item><item><title><![CDATA[非mfc程序下使用TRACE,ASSERT,VERIFY]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5989890</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5989890</guid><author>ncistcn</author><pubDate>Fri, 05 Nov 2010 15:11:00 +0800</pubDate><description><![CDATA[<br />#pragma once<br /><br />
//----------------------------------------------------------------<br />
//----------------------------------------------------------------<br /><br /><br />
#ifdef _DEBUG<br />
static void MyDebug_Trace(LPCTSTR szFormat,]]></description><category></category></item><item><title><![CDATA[vc6中for语句定义的变量的作用域超出for循环的解决办法]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5971890</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5971890</guid><author>ncistcn</author><pubDate>Thu, 28 Oct 2010 14:54:00 +0800</pubDate><description><![CDATA[<br />#define  for if(0); else for
<br /> <br /> <br />你在vc下编译面的程序：用
<br />
int main()
<br />
{
<br />
  for(int i = 0; i < 100; ++i)
<br />
   ;
<br />
  for(int i = 0; i < 100; ++i)  // C2374: 'i': Redefinition; multiple initialization
<br />]]></description><category></category></item><item><title><![CDATA[判断结构体中某成员的位置]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5971830</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5971830</guid><author>ncistcn</author><pubDate>Thu, 28 Oct 2010 14:37:00 +0800</pubDate><description><![CDATA[<br /><br />
#define PARAM_OFFSET(Strct, Field)    ((unsigned long)&(((Strct *)0)->Field))<br /><br />
struct abc<br />
{<br />
    int a;<br />
    int b;<br />
    int c;<br />
};<br /><br />
void main()<br />
{<br />
    printf("%d/n", PARAM_O]]></description><category></category></item><item><title><![CDATA[int n = add(1, 2) + add(3, 4) 哪个先执行？]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5969861</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5969861</guid><author>ncistcn</author><pubDate>Wed, 27 Oct 2010 17:53:00 +0800</pubDate><description><![CDATA[<br />int add(int a, int b)<br />
{<br />
    printf("%d + %d/n", a, b);<br />
    return a + b;<br />
}<br />
void main()<br />
{<br />
#ifdef    _DEBUG<br />
    printf("In debug/n");<br />
#else<br />
    printf("In Release/n");<br />
#endif<]]></description><category></category></item><item><title><![CDATA[do...while(0)的妙用]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5931335</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5931335</guid><author>ncistcn</author><pubDate>Sun, 10 Oct 2010 13:45:00 +0800</pubDate><description><![CDATA[do...while(0)的妙用<br />
		
		
			在C++中，有三种类型的循环语句：for, while, 和do...while， 但是在一般应用中作循环时， 我们可能用for和while要多一些，do...while相对不受重视。<br />
    但是，最近在读我们项目的代码时，却发现了do...while的一些十分聪明的用法，不是用来做循环，而是用作其他来提高代码的健壮性。
<br />1. do...while(0)消除goto语句。<br />
通常，如果在一个函数中]]></description><category></category></item><item><title><![CDATA[Sleep(0)及其使用场景]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5931318</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5931318</guid><author>ncistcn</author><pubDate>Sun, 10 Oct 2010 13:38:00 +0800</pubDate><description><![CDATA[<br />Sleep(n)的作用是让当前线程睡眠n毫秒，以便执行其他线程，如果没有其他线程，那睡眠n毫秒后，继续执行。 <br />     而如果n=0，Sleep(0)是指CPU交出当前线程的执行权，让CPU去执行其他线程。也就是放弃当前线程的时间片，转而执行其他线程。<br />     那么，Sleep(0)应该在那种情况下使用？ 一般来说，如果当前线程比较耗时比较占CPU资源，可以在结尾处加上Sleep(0), 这样效率会得到大大的提高。<br />     另外，还可以用这种方法来保证线程同步]]></description><category></category></item><item><title><![CDATA[鼠标移动调窗算法]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5854935</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5854935</guid><author>ncistcn</author><pubDate>Wed, 01 Sep 2010 10:16:00 +0800</pubDate><description><![CDATA[<br />鼠标移动调窗算法<br />
y方向：C（窗位）<br />
x方向：W（窗宽）<br />
            pImg->getMinMaxValues(dMin, dMax);<br /><br />
            m_dae.m_nCenterMin = dMin;<br />
            m_dae.m_nCenterMax = dMax;<br />
                <br />
            m_dae.m_nWid]]></description><category></category></item><item><title><![CDATA[vc6环境下build unicode工程遇到的问题及解决办法]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5842440</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5842440</guid><author>ncistcn</author><pubDate>Fri, 27 Aug 2010 09:01:00 +0800</pubDate><description><![CDATA[<br /><br />
    1、error LNK2001: unresolved external symbol _WinMain@16<br />
    enty-point symbol: wWinMainCRTStartup<br />
    2、看不到调试信息<br />
    option-〉debug->display unicode string<br />
    3、需要一些lib<br />
    mfc42d.lib,mfcs42d.lib，mfc42ud.]]></description><category></category></item><item><title><![CDATA[开张第一篇]]></title><link>https://blog.youkuaiyun.com/ncistcn/article/details/5841619</link><guid>https://blog.youkuaiyun.com/ncistcn/article/details/5841619</guid><author>ncistcn</author><pubDate>Thu, 26 Aug 2010 18:31:00 +0800</pubDate><description><![CDATA[<br />我的csdn博客总算能访问了，感谢党，感谢人民，感谢csdn的网站管理员。让我有机会点东西，记录下我的工作和生活。]]></description><category></category></item></channel></rss>