windows 系统编程
ytfrdfiw
这个作者很懒,什么都没留下…
展开
-
使用CreateToolhelp32Snapshot获取指定进程详细信息的方法
一般大家都使用CreateToolhelp32Snapshot来获取当前系统所有进程的信息,而且网上的例子大都是告诉大家怎么获取系统所有进程信息。因今天遇到一个问题,需要获取指定进程ID的详细信息,因各种权限原因,只能使用CreateToolhelp32Snapshot 进行获取,现在相关代码贴一下,希望对你有帮助。 void GetProcessInfo(const DWOR原创 2013-05-07 16:01:07 · 3558 阅读 · 0 评论 -
关于GetPrivateProfileString出错 last error 坑人
今天偶然写了一段代码,使用GetPrivateProfileString函数获取信息,发现无法获取,last error 为2,含义是“指定的文件不存在”,我看了很久,发现文件是存在的,后来再仔细看,原来是指定的section name不对,导致错误。微软这个提示真是坑人呀。原创 2013-06-06 15:09:31 · 2958 阅读 · 0 评论 -
vs2008不能正常调试的一个小原因
刚好最近调试一个非常普通的程序,代码非常的简单,但是就是不能正确调试。比如,分明设置了断点在main函数的开始,但是就是断不下来,而且程序不是从main函数开始执行的,是从main函数的前几行执行的,真是奇怪。 后来一行行排查(加上二进制查看工具),发现因为有个if(){}这段语句的换行符不是'0d0a',只有0d,没有0a这个二进制码,在0d后加上0a,就可以正常调试。但原因是什原创 2013-12-23 15:32:53 · 3175 阅读 · 0 评论 -
以源码方式使用boost的filesystem库的方法
boost filesystem库 源码 嵌入原创 2014-03-09 20:47:06 · 4267 阅读 · 0 评论 -
在XP下如何安装支持vs2008的visual assist插件
最近需要在xp下安装vs2008进行调试,使用新版本的visual assist发现都不能正常加载(比如10.7.1940),或者更新的版本都是一样,也尝试解决了一下,但均未解决,如有人解决麻烦回复告诉一下。 最后的解决方法是,使用较老的visual assist版本,比如 visual assist 1842或1856(这些网上应该都有下载),一切OK了。 以上原创 2014-04-01 13:29:25 · 2411 阅读 · 0 评论 -
#include <ntifs.h>出现PEPROCESS redefinition问题处理
7600.16385.0\inc\ddk\ntifs.h(85) : error C2371: 'PEPROCESS' : redefinition; different basic types,7600.16385.0\inc\ddk\wdm.h(79) : see declaration of 'PEPROCESS'原创 2014-04-10 09:54:36 · 5958 阅读 · 1 评论 -
release版本调试的几个设置项
使用vs2008编译release版本,但又想进行调试,这个时候需要设置以下几个地方:1、工程的属性c/c++->General-->Debug Information Format 设置 为Program database(zi),不要使用默认的disabled,否则不能调试。2、工程的属性c/c++->Optimization-->Optimization 设置为Disabled(/o原创 2013-12-26 14:44:17 · 1238 阅读 · 0 评论 -
缓冲IO和非缓冲IO的区别(转载)
这两天在项目原有版本的基础上增加了一段新的协议实现代码,因此需要和平台进行联调。考虑到更好地进行调试,我在代码中添加了一段类似日志记录的代码,已获取通讯的报文内容和当时的环境参数内容,就是创建一个文件,使用标准IO的fopen、fprintf进行输出记录。但是在调试中,刚开始我就傻眼了,文件创建成功了,但是实时查看竟然没有任何数据记录。经过半天的担惊受怕和反复排查,发现是被标准IO的缓冲机制摆了一转载 2014-10-27 13:44:12 · 1335 阅读 · 0 评论 -
BOOST库的在windows下的编译小记
boost windows 编译 32位 64位原创 2014-12-17 13:15:33 · 936 阅读 · 0 评论