![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
happycyp
这个作者很懒,什么都没留下…
展开
-
C++ Release版本引起的问题
最近转了一万多行Delphi代码转为C++, 转完运行后,DEBUG版本运行没有问题,Release版本运行崩溃。因为Release版本进行了优化,调试运行定位不是太准,调试了一上午终于搞定了。问题出在了一个struct的初始化中.一个struct中包含了一个vector成员,它是非原生数据类型,在创建它的指针时,我调用了ZeroMemory函数,将它清空了。结果后面在调用vect原创 2012-06-21 17:08:12 · 1684 阅读 · 0 评论 -
使用IOCTL_DISK_GET_LENGTH_INFO控制码获取磁盘空间大小
GetDiskFreeSpace 和GetDiskFreeSpaceEx获取磁盘空间大小都是有quota限制的。如果管理员为某用户在某分区上设置了配额,这个用户下,用前面两个API就不能正常获得分区大小。MSDN上说明可以用IOCTL_DISK_GET_LENGTH_INFO获得分区总大小,下面代码即是使用方法。\int _tmain(int argc, _TCHAR* argv[原创 2013-06-24 11:29:43 · 2745 阅读 · 0 评论 -
Windbg命令
Windbg命令总结原创 2013-10-29 09:37:14 · 812 阅读 · 0 评论 -
A2W引起的栈溢出崩溃
A2W用来转换Ansi为unicode字符,一般用来都没有问题。不过,我的程序放到用户那里产生了栈溢出崩溃,发现崩溃在A2W上,于是看了一下它的实现:#define A2W(lpa) (\ ((_lpa = lpa) == NULL) ? NULL : (\ _convert = (lstrlenA(_lpa)+1),\ (INT_MAX/2<_convert)? NULL :原创 2013-11-20 20:36:16 · 1741 阅读 · 0 评论 -
创建最大内存的转储文件
为了从4G或更大内存的电脑上获得完整dump文件,必须在Boot.ini文件使用/MAXMEM转换。BOOT.INI是只读的,需要先把只读属性云掉才能保存。另:内存转储相关的注册表项全部保存在注册表的如下位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl[HKEY_LOCAL_M原创 2013-11-26 18:56:25 · 778 阅读 · 0 评论 -
定义一个C++工作接口
定义一个C++工作接口要完成一些工作需要注意:1. 提供初始化接口Init2.提供释放Release, 或者Free, Clear等。3.提供相应功能接口,如Scan, Clean...4.提供扩展接口. 方便扩展,GetProp, SetProp等如果要使用Com,就从IUnkown继承,并且并且实现相关的接口。原创 2013-12-02 12:37:04 · 568 阅读 · 0 评论 -
[转载]windows路径操作API函数
路径截断与合并函数 PathRemoveArgs去除路径的参数PathRemoveBackslash去除路径最后的反斜杠“\”PathAddBackslash 在路径最后加上反斜杠“\”PathRemoveBlanks去除路转载 2014-03-06 23:41:10 · 725 阅读 · 0 评论 -
VS2008不能全文搜索的解决办法
VS2008不能全文搜索的解决办法VS2008用着用着就不能用了,一全文搜索就提示 No files were found to look in.Find was stopped in progress. 网上查的,都是说用ctrl + scroll, 我试过不好用。后来同事说有系列快捷键,依次试了一下。果然好用了。具体是哪个用的,也不知道,反正到Alt+Break原创 2015-08-10 18:49:12 · 2252 阅读 · 0 评论