03 2011 档案

如何移植32位程序到64位系统
摘要:最近要将自己的程序兼容64位系统,本来以为是个大工程,可是查阅了相关资料后发现这个其实不难。因为,一般的32位程序都可以运行在64位系统(当然是一般情况),这个主要是因为64位系统已经考虑到了这种过渡情况。首先要知道64系统已经为32位的应用程序准备了运行32位程序的环境,这个环境就是WOW64。 WOW64 是Windows-32-on-Windows-64 的缩写。它为现有的 32 位应用程序提供了 32 位的模拟,可以使大多数 32 位应用程序在无需修改的情况下运行在 Windows 64 位版本上。它类似于旧的 WOW32 子系统,负责在 Windows 32 位版本下运行 16 位的 阅读全文

posted @ 2011-03-17 12:21 haii714 阅读(670) 评论(0) 推荐(0)

如何判断是64位系统还是32位系统
摘要:在很多网站上都贴有这种方法,可惜都无法区别32位或64位,本身思路是正确的,但是在实现的细节上使用错误:BOOL IsWow64(){ typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL bIsWow64 = FALSE; fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle("kernel32"),"IsWow64Proce 阅读全文

posted @ 2011-03-17 12:20 haii714 阅读(587) 评论(0) 推荐(0)

VS2005 调试不能设置断点的解决办法(转载)
摘要:以前也碰到过同样的问题,但没有问个为什么,也没有探个究竟。昨天调试一个DLL,添加输出信息吧,太麻烦而且不容易定位,但设置断点后按“F5”,断点不可用,气泡提示“当前不会命中断点,还没有为该文档加载任何符号。”再右键->“位置”->“允许源代码与原始版本不同”,还是不行。 后来才发现,“Alt+F7”->“配置属性”->“调试”->“命令”中输入的 exe 路径下,已经提供了此 DLL,压根就没有调用咱 F5 启动的DLL。。。。。。把 exe (以及相关的其它文件,如果有)拷贝到 DLL 目录下,就可以调试了。 犯了个低级错误。但也总结了一下不能调试的各种可能原 阅读全文

posted @ 2011-03-15 23:07 haii714 阅读(829) 评论(0) 推荐(0)

VS2005调试器 1,断点设置有技巧(转载)
摘要:VS2005调试器 1,断点设置有技巧:1)设置条件断点,比如i==10,变量改变时断点;2)如何让断点在指定的命中次数或者大于某个次数时触发呢?方法是设定几个断点的HitCount,右键单击断点,在弹出菜单中选择Hit Count;3)When Hit,这个选项可以让我们在命中断点后做一些事情,包括输出一些内容,或者调用宏,比如输出一个程序中变量的值;4)利用断点的Filter功能,比如我希望断点只有被机器名为yizhu的机器访问才能触发;具体参见:一篇介绍VS2005调试断点技巧的文章2. 怎样判断加载的dll的正确性? 调试时,打开Debug->Window->Modules 阅读全文

posted @ 2011-03-15 23:01 haii714 阅读(1159) 评论(0) 推荐(0)