
VC++
文章平均质量分 66
lsfreeing
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
GetDriveType将移动硬盘识别为DRIVE_FIXED 而不是DRIVE_REMOVABLE移动设备的问题
问题描述:最一开始检测USB移动存储设备是用的GetDriveType函数,后面发现接上移动硬盘并没有识别为可移动usb存储设备问题原因:是根据分区里面的信息来判别是移动硬盘或是u盘。这个函数查询并不准确解决方法:直接打开磁盘驱动器句柄。发送IOPC消息查询参考链接:https://stackoverflow.com/questions/3390865/differentiating-between-usb-flash-drive-and-usb-hard-drive..原创 2021-01-05 11:34:34 · 1335 阅读 · 0 评论 -
Visual Studio各版本间的二进制兼容性
VS2013和更早的版本不保证各版本之间的二进制兼容性。在VS2015-2019中做了改进。任何这些版本编译器编译的运行库和应用程序都是二进制兼容的。参考链接:https://docs.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=vs-2019...原创 2020-08-17 20:22:59 · 954 阅读 · 0 评论 -
Windbg/x64dbg/OllyDbg调试器简介
原文链接:https://blog.youkuaiyun.com/libaineu2004/article/details/104081676一、WindbgWindbg是微软开发的一套调试器中的组件。WinDBG属于内核级别调试器,不仅可以用来调试应用程序,也可以调试内核级的代码,如驱动程序。Windbg由于其丰富的命令和对Windows的原生支持还有其易用性,是其他其他调试器望尘莫及的。如果安装了Windows SDK,一般会带有windbg.exe,gflags.exe和appverif.exe.转载 2020-05-08 19:42:01 · 3117 阅读 · 0 评论 -
windows版本号常数 _WIN32_WINNT
编译一个工程发现好多函数找不到定义,后面发现是windows版本设置不对。高版本的函数在很多条件编译下都被注释掉了。只需要在预处理设置平台正确的版本号即可。eg.下图表示当前的版本是win10//// _WIN32_WINNT version constants//#define _WIN32_WINNT_NT4 0x0400 // W...原创 2020-02-27 17:18:41 · 2220 阅读 · 0 评论 -
Visual Leak Detector内存泄漏检测工具,vld使用及原理
供参考初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。然而不管内存泄漏多么轻微,当程序长时间运行...转载 2019-11-07 14:55:31 · 3377 阅读 · 0 评论 -
VS2015控制调试信息的编译选项
VSrelease模式下如果生成了符号文件但符号文件的格式不对的话也可能导致不能断点的问题。设置相关编译选项即可原创 2019-08-30 11:18:52 · 1550 阅读 · 2 评论 -
C++预定义宏
很长一段时间在win下开发,把一些win下特有的宏和标准c++预定义宏混淆了。记录一下参考链接:https://msdn.microsoft.com/zh-cn/library/b0084kay.aspxhttps://en.cppreference.com/w/cpp/preprocessor/replace Visual c + + 编译器预定义某些预处理器宏,具体取决于语言 ...原创 2018-10-30 10:28:39 · 4105 阅读 · 0 评论 -
静态库那些事儿/MT /MD
总结下,需要注意的是对于多个模块的开发,确保该模块的malloc自己free就OK了。引用自https://zhuanlan.zhihu.com/p/20628410?refer=jilinxiaohuohttps://www.zhihu.com/question/45753516单例模式是一种很简单常用的设计模式,常见的做法可能是这样:Renderer& getInstance(){...转载 2018-05-17 17:24:38 · 3059 阅读 · 0 评论 -
系统何时发送WM_PAINT消息?
系统会在多个不同的时机发送WM_PAINT消息:当第一次创建一个窗口时,当改变窗口的大小时,当把窗口从另一个窗口背后移出时,当最大化或最小化窗口时,等等,这些动作都是由 系统管理的,应用只是被动地接收该消息,在消息处理函数中进行绘制操作;大多数的时候应用也需要能够主动引发窗口中的绘制操作,比如当窗口显示的数据改变的时候,这一般是通过InvalidateRect和InvalidateRgn函数来完成的转载 2017-08-28 19:16:00 · 701 阅读 · 0 评论 -
VS工程文件常见后缀名文件含义
常用后缀名文件含义部分快捷键GCCvisual C常用后缀名文件含义.sln: 通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中。.suo:储存了用户界面的自定义配置,包括布局、断点和项目最后编译的而又没有关掉的文件等,以便下一次你打开Visual Studio可以恢复这些设置,它们就是隐藏文件。 .clw文件记录了类的信息,如果classView中原创 2017-07-28 20:20:48 · 11388 阅读 · 0 评论 -
VC++判断硬盘容量,依时间顺序自动删除文件
bool IsNeedDelete(CString strPath);//是否需要删除文件bool FileDelete::IsNeedDelete(CString strPath){ DWORD dwTotalDiskSpace, dwFreeDiskSpace, dwUsedDiskSpace; ULARGE_INTEGER uiFreeBytesAvailableToCaller;原创 2017-06-10 23:15:51 · 1193 阅读 · 0 评论