02 2011 档案
摘要:对于伪寄存器,百度到的结果很少,翻译此篇供各位同学参考吧。原文链接:http://www.codeproject.com/KB/debug/pseudoregister.aspx介绍:下面介绍一下我写这篇文章的原因。今天我的一个同事让我帮他调试一个他遇到的问题。我看他单步他的程序的时候,发现了下面的代码:int test = GetLastError();他这样做因为他希望如果之前的函数失败了能够知道错误码。我建议他移除这些行并且在Watch Window中使用伪寄存器@ERR。他不知道这是什么,并且问周围的同事,周围的很多人也不知道。所以我决定为那些从来没有听说过伪寄存器的人们写这篇文章。到
阅读全文
摘要:1.需要下载orca.msi这一修改msi文件的工具2.用orca打开msi文件,找到LaunchCondition 删除其中的所有约束。保存msi文件OK这时候就没有操作系统的限制了。此方法仅限于在msi中对安装的目标操作系统进行限制的软件。
阅读全文
摘要:今天在编写DIB图像RGB24转灰度的算法时遇到了问题使用 Gray = R*0.299 + G*0.587 + B*0.114 存在舍入的问题因为最终要用的是byte型,而编译器的强制类型转换是将尾数舍掉。例如:(byte)24.9999=24 这个问题相当严重,直接造成转换后图像的灰度直方图缺线。终于在网上找到了这篇博文:原文链接http://blog.csdn.net/zyl910/archive/2006/05/22/749752.aspx最终使用的转换宏:typedef struct tagXRGB{byte b;byte g;byte r;}XRGB;#define RGB2GRA
阅读全文
摘要:仿函数形如:为类或结构体重载了()操作幅,使之表达形式与函数调用一致。typedef struct tag_Functor{ void operator()(void) { //implement function here }}Functor; http://blog.csdn.net/iamoyjj/archive/2011/02/15/6186935.aspx
阅读全文
摘要:MFC提供了一组DDX_Text函数,能够支持控件和各种数据类型之间的绑定。加入我们要在已有的功能上座一些小小的修改,又希望我们的修改能够适应各种数据类型的话。应该怎样做呢?下面是一个例子。下面的这个模板方法所要使用的场景是显示值和变量存储值相差一个常量系数coff的情况。显然我们希望能编写一次就能让所有DDX_Text支持的数据类型都能支持这一功能,使用template是实现这一目标的绝好方法。template<typename T>void DDX_Text(CDataExchange* pDX,int nIDC, T& value,double coff){ if (
阅读全文
摘要:DDX对数值类型的重载中唯独没有WORD类型即unsigned short 类型尝试编译,会报出错误none of the 17 overloads could convert all the argument types(VS2008)既然没有就自己写一个void DDX_Text(CDataExchange* pDX, int nIDC, WORD& value){ int iValue; if (pDX->m_bSaveAndValidate) { DDX_Text(pDX,nIDC,iValue); value=iValue; } else { iValue=value;
阅读全文
摘要:VC6 不支持C99 没有可变长的宏参数 __VA_ARGS__可以使用下面的Walkaround来解决采用的方法比较巧妙,使用匿名对象和重载()操作符来达到和TRACE函数相同的效果,同时还能正确打印文件和行号。#include <stdio.h>#include <windows.h>#define _DEBUG_BUF_SIZE_ 2048static char _buf_[_DEBUG_BUF_SIZE_];class trace_impl{public: trace_impl(const char* file,size_t line):file_(file),
阅读全文
摘要:函数名,函数签名...__FUNCSIG__ __FUNCDNAME__ __FUNCTION__ __func____FUNCSIG__ __FUNCDNAME__ __FUNCTION__ __func__在最新的ISO C标准中,如大家所知的C99,加入了另一个有用的、类似宏的表达式__func__,其会报告未修饰过的(也就是未裁剪过的)、正在被访问的函数名。请注意,__func__不是一个宏,因为预处理器对此函数一无所知;相反,它是作为一个隐式声明的常量字符数组实现的:static const char __func__[] = "function-name";官方
阅读全文
摘要:今天遇到一个链接错误,用于要进行网络字节序转换,使用了winsock2.h中的htons ntohs...文件的头文件引用大致如下#include <windows.h>#include <WinSock2.h>报链接错误,ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition...ws2def.h(127) : warning C4005: 'AF_MAX' : macro redefinition......一番在网上搜索,终于找到解决的方法。出现此问题的原因在于wind
阅读全文
摘要:遇到一个问题,如果在一个线程中使用WaitCommEvent来处理RX接受中断的话,如果没有任何事件发生,程序将阻塞在WaitCommEvent一行,以至于无法正常终止线程。解决方法:要使WaitCommEvent正常终止,需要使用OVERLAPPED模式在创建串口设备的时候(CreateFile)使用重叠IO的方式。这样WaitCommEvent就会立即返回,再去Wait OVERLAPPED结构的hEvent,同时再创建一个线程终止的Event对象。使用API,WaitForMultipleObjects来等待这两个时间。即可实现串口数据接受线程的正常退出。
阅读全文
摘要:wc指令-l 统计行数-w 统计字数-c 统计字节数* 统计目录下的所有文件(每个文件的信息和最终的统计信息)或指定文件名统计单个文件
阅读全文
摘要:内联函数形式:inline void trace(const char* format,...){ va_list ap; va_start(ap,format); int len=_vscprintf(format,ap)+1;//+1计入'/0' char *pBuf=(char*)malloc(sizeof(char)*len); vsprintf_s(pBuf,len,format,ap); va_end(ap); OutputDebugStringA(pBuf); free(pBuf);}宏形式:内联函数的形式存在缺陷,不能用来统计所在的函数和行号等更好的方法应该使用
阅读全文
摘要:运行gpdedit.msc计算机配置-->windows设置-->本地策略-->安全选项倒数第三个:使用空白密码的本地帐户只允许进行控制台登录 禁用此设置比较危险,会带来安全隐患,若要使用的话建议同时更改Admin账户的用户名。最后一项,重新启动计算机后生效。
阅读全文
摘要:微软官方解释:http://msdn.microsoft.com/en-us/library/ms164725.aspx遇到此问题,可以按下面方法排查:1.本地调试的用户账户和远程被调试的用户账户的用户名和密码要完全一致2.另外一般情况下组策略禁止了空密码的用户账户的网络访问。所以最好设置一个密码,当然也可以禁用掉响应的组策略。3.要本地用户的账户密码和网络账户密码要设置正确。4.调试机和被调试机是否在一个WorkGroup,网上邻居中的工作组计算机里是否有被调试机。
阅读全文
浙公网安备 33010602011771号