自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

半雨微凉

为了不让人生一眼看到尽头,Go Go Go!

  • 博客(373)
  • 资源 (10)
  • 收藏
  • 关注

原创 学习C++ 的正确打开方式

前言偶有所感,甚合吾意~看的书不在多,而在精。有限的时间把有限的书多看几遍,真正的懂了比什么都好~个人的一点愚见,仅供参考~前人栽树后人乘凉,感谢前辈的收集~推荐书籍如下:语言《C++ Primer》 《Effective C++》 《More Effective C++》 《深度探索 C++ 对象模型》 《深入理解 C++11》 《STL 源...

2019-08-28 15:27:09 443 1

原创 有符号整型常量溢出

int 最大值:2147483647long long int 最大值:9223372036854775807long long int n = 2000 * 2000 * 2000 * 2000; //溢出long long int n = 16000000000000; //正常显示原因:表达式1右边计算的值为int,16000000000000 大于2147483647,所以溢出所以想要正确的结果需要把计算值(而不是结果)转为long long,

2021-03-01 18:39:56 808

原创 获取list中前十个元素

12目录12

2021-02-28 17:59:53 10143

原创 Could not start the ‘rsync‘ command on the remote host

原因:使用vs2019远程编译,远程复制文件时出现此错误解决方案:1、首先去远程的机器上查看命令是否安装,没安装的yum install rsync2、已经安装的,可以使用sftp

2020-11-30 15:55:13 879 1

原创 windows编程中超长路径的处理

对于超过一定字符的路径,WindowsAPI默认是不识别的,所以这时候需要对路径进行转换,通过以下测试代码一看便知//可以自行通过改变路径长度来测试结果std::wstring longPath = L"D:\\testlongpath\\testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest\\testtesttesttesttesttestte

2020-07-15 15:10:06 506

原创 C++中关于前置声明的前因后果

前辈们已经总结的很到位了,通过以下几方面就可以比较全面的认识和使用。为什么我们要使用c++的前置声明https://www.jianshu.com/p/de396c0751ccc++之类的前置声明https://blog.csdn.net/fjb2080/article/details/5533514C++中前置声明的应用与陷阱https://blog.csdn.net/yunyun1886358/article/details/5672574...

2020-07-15 14:59:56 219

原创 【第三方库】c++ 使用正则表达式库 pcre

1、为什么使用pcre而不是用自身的标准库regex?引用:PCRE benefits from some optimizations known asstart-up optimizationswhich are configured to be enabled by default. These optimizations include:A subject pre-scan ...

2019-11-25 18:23:17 1038 2

原创 【工作笔记】结构体值获取失败

示例代码:#include <iostream>#include <map>typedef struct TEST_STRUCT{ int age; int number;}TEST, *PTEST;std::map<int,PTEST> gMapTestPointer;std::map<int,TEST> gMapTest;...

2019-11-22 11:50:44 486

原创 MFC小程序之批量修改ini配置

用到的主要内容:1、遍历文件夹内所有文件2、选择文件夹对话框3、遍历ini节点并设置值主要代码:CString SelfFilePath(){ //选择文件夹对话框,返回选择的文件夹路径 TCHAR szFolderPath[MAX_PATH] = {0}; CString strFolderPath = _T(""); BROWSEINFO ...

2019-11-05 20:55:14 430

原创 根据用户名判断是否是管理员

BOOL IsUserAdminPrivilege(const CString& strUserName, BOOL& bAdminPrivilege) { DWORD rc; USER_INFO_1 *info; rc = NetUserGetInfo( NULL, strUserName, 1, (byte **) &info ); if (...

2019-10-24 10:18:38 2235

原创 常用编码转换

1、ansi-->GB2312char* U2G(const char* utf8){ int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0); wchar_t* wstr = new wchar_t[len+1]; memset(wstr, 0, len+1); MultiByteToWideChar(CP_...

2019-08-17 14:36:35 316

原创 __int64、ULONGLONG格式化输出

Tips:打印日志信息的时候出现的问题,虽然很小,也算提个醒~Code: //不考虑溢出的情况 ULONGLONG n1 = 100; printf("%d\n",n1); __int64 n2 = 100; printf("%d\n",n2); //此处是个坑。。。 printf("%d %d\n",n1,n2);//100 0...

2019-08-17 10:45:43 4600

原创 STL常用算法

1、set取交集 set<string> setSrc,setDst,setResult; setSrc.insert("li lei"); setSrc.insert("han meimei"); setDst.insert("lucy"); set_intersection(setSrc.begin(),setSrc.end(),setDst.begi...

2019-08-17 10:30:32 194

原创 【Windows编程】通过全路径结束进程

说明:全路径只是一种方式,其他的比如通过PID等都是一个道理~示例代码:BOOLTerminateExe(const CString& strPath ){ PROCESSENTRY32 pe32 = {0}; pe32.dwSize = sizeof(pe32); HANDLE hProcessSnap = CreateToolhelp32Snapshot(...

2019-08-17 10:18:35 539

原创 cannot create map for .ILK file; linking nonincrementally

原因:工程属性--链接--常规--输出文件,一般默认此路径是工程中的Debug或Release路径,由于想要把文件生成到C:\\XXX下进行调试就改了下生成路径~好吧,错误出现:cannot create map for .ILK file; linking nonincrementally解决方法:以管理员方式打开VS。。。说明:这个问题原因比较多样化...

2019-07-19 19:57:22 685

原创 浅析 C++ 回调的几种方式

简单说明:简单来说,就是B在完成某件事的时候,自动执行A的相关操作~A、B可以是普通函数,也可以是类大致可以分为三种方式的回调:1、普通函数的方式函数定义:void print1(){ cout << "1" << endl;}void print2(){ cout << "2" << endl;}...

2019-07-11 18:51:19 9592

原创 哔哩哔哩计算机相关视频整理(持续更新)

计算机速成课全集精校版在线地址:https://www.bilibili.com/video/av21376839下载地址:https://pan.baidu.com/wap/init?surl=XbTRxPY8SlDv-N_jidZ6MQ8dy3youtub十万好评C++教程在线地址:https://www.bilibili.com/video/av24742...

2019-06-30 17:27:36 1307

原创 【工作笔记】二级指针做参数以及对应赋值操作

需求:1、调用接口获取json数据2、json数据是 string 类型3、接口是二级指针 wchat_t**4、被调方负责内存管理示例:bool getJsonData(wchar_t** ppsz, int* pSize){ //strDataCache is source data LPCSTR pszSrc = strDataCache.c_str()...

2019-06-29 18:35:21 354

原创 string、 char*、 wstring、 wchar_t* 转换简介

string -->wstringMultiByteToWideChar才是正确的转换方法,否则中文会乱码,后边有简单的方法~wstring stringToWstring(const string& strDataCache){ if (strDataCache.empty()) { return L""; } LPC...

2019-06-29 18:19:15 1837

原创 【Windows核心编程笔记】第二十六章 错误报告与应用程序修复

Windows 错误报告控制台Problem Reports And Solutions (system32\wercon.exe)查看错误报告可编程的Windows错误报告WerSetFlags 设置WerGetFlags 获取WerAddExcludeApplication 禁用报告生成和发送WerRemoveExcludeApplication 启用...

2019-06-17 09:27:41 330

原创 【Windows核心编程笔记】第二十五章 未处理异常、向量化异常处理与C++异常

SetUnhandledExceptionFilter 处理异常的最后机会,一般在进程初始化时调用此函数异常过滤函数原型:LONG WINAPI TopLevelUnhandledExceptionFilter(PEXCEPTION_POINTERS pEx)UnhandledExceptionFilter函数详解允许对资源进行写入操作并继续执行将未处理异常...

2019-06-17 09:26:53 310

原创 【Windows核心编程笔记】第二十四章 异常处理程序与软件异常

__try{…}__except(exception filter){…}EXCEPTION_EXECUTE_HANDLEEXCEPTION_CONTINUE_EXECUTIONEXCEPTION_CONTINUE_SEARCHGetExceptionCode内在函数,返回值表明刚刚发生的异常的类型此函数只能在异常过滤程序或者异常...

2019-06-16 16:45:45 272

原创 【Windows核心编程笔记】第二十三章 终止处理程序

结构化异常(SEH),不同于C++异常处理__try{…}__finally{…}

2019-06-16 16:44:28 219

原创 【Windows核心编程笔记】第二十二章 DLL注入和API拦截

Dll注入的一个例子从其他进程创建的窗口派生子类窗口SetWindowSubclassGetWindowSubclassRemoveWindowSubclassDefSubclassProc使用注册表来注入dll整个系统的配置在注册表中HLM\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\A...

2019-06-16 16:43:38 580

原创 【Windows核心编程笔记】第二十一章 线程局部存储区(TLS)

动态TLSTlsAlloc 在进程的位标志列表中找到一个FREE标志预订,将其改为INUSE,返回索引TlsSetValue 把一个值放到线程的数组中TlsGetValue 从数组中获取一个值TlsFree 释放,INUSER改为FREEDll中使用动态TLS,DllMain函数DLL_PROCESS_ATTACH时调用TlsAlloc,DLL_PRO...

2019-06-16 10:40:07 251

原创 【Windows核心编程笔记】第二十章 DLL高级技术

DLL模块的显示载入和符号链接LoadLibrary/Ex 显示加载dll,映射到进程的地址空间FreeLibrary 显示卸载dllFreeLibraryAndExitThread 适用dll中创建线程的情况同一进程中多次加载一个dll会递增使用计数不同进程之间维护各自的dll使用计数可以使用GetModuleHanle检测dll是否被映射...

2019-06-15 12:48:59 359

原创 【工作笔记】PathFileExists 返回 FALSE

问题描述:在参数传递正确,文件确实存在的情况下,PathFileExists偶尔返回FALSE解决思路:1、首先,由于是网络路径,所以system用户使用文件操作类函数(比如PathFileExists、GetFileAttributesEx等)时需要切token2、在切token并成功的情况下,发现依然会偶尔返回FALSE,打印错误码,有拒绝访问和文件不存在两种情况3、使用P...

2019-06-13 08:45:42 1982

原创 【Windows核心编程笔记】第十九章 DLL基础

Kernel32.dll 管理内存、进程以及线程相关的API函数User32.dll 执行与用户界面相关任务的API函数GDI32.dll 绘制图像和显示文字相关的API函数为什么要用DLL?扩展了应用程序的特性简化了项目管理有助于节省内存促进了资源共享促进本地化有助于解决平台差异用于特殊目的DLL和进程的地址...

2019-06-12 09:07:58 215

原创 【Windows核心编程笔记】第十八章 堆

进程的默认堆进程初始化时创建,默认大小为1M许多Windows函数用到了进程的默认堆,默认堆的访问必须依次进行默认堆由系统自动创建并在进程终止后自动销毁,我们无法控制GetProcessHeap 获取默认堆的句柄为什么要创建额外的堆对组件进行保护更有效的内存管理局部访问避免线程同步开销快速释放如何创建额外的堆HeapCreate 进程中创...

2019-06-10 21:12:18 180

原创 【Windows核心编程笔记】第十七章 内存映射文件

适用情况:加载exe或者dll,大量节省页交换文件的空间和程序启动时间避免缓存,直接访问磁盘上的数据文件最高效的进程间共享数据方法映射到内存的可执行文件和dll同一个exe或dll的多个实例不会共享静态数据(默认情况)在同一个exe或dll的多个实例间共享静态数据(创建共享段) Dumpbin工具查看段内容 #pragma dat...

2019-06-06 17:18:11 226

原创 模拟token访问网络共享路径下的文件

情景描述:访问网络共享路径下的文件时,对齐进行的GetFileAttributesEx、PathFileExists等一系列操作均会失败,返回错误码1326(用户名或密码不正确)问题原因:因为磁盘映射是和当前账户关联的,当账户登录之后才会存在这个盘符。当用一个没有权限token的线程去访问,就需要模拟token(模拟能正常访问者的进程token)操作步骤:1.获...

2019-06-05 19:04:09 460

原创 .Net SDKs(.Net FrameWork/.Net Core) 环境下载

以备不时之需~https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

2019-05-27 15:40:19 2594

原创 【Windows核心编程笔记】第十六章 线程栈

每个线程都有自己的栈(一块地址空间区域),默认是1MB并调拨两个页面的存储器,这个值可以通过编译器配置修改,也可以在创建线程的时候通过参数指定(0为默认)系统永远不会给区域底部的那个页面调拨存储器(保护进程使用的其他数据)如果线程在栈溢出后继续使用栈,系统会抛出访问违规异常。如果访问违规异常是线程试图访问栈时引发的,此时系统会弹框提示并退出整个进程应该使用SetThreadSta...

2019-05-26 18:55:03 176

原创 【Windows核心编程笔记】第十五章 在应用程序中使用虚拟内存

预订地址空间区域VirtualAlloc 预订进程中的地址空间区域,第二个参数类型是MEM_RESERVEVirtualAllocExNuma 同上,区别在于应用程序在NUMA机器上运行给区域调拨物理存储器VirtualAlloc 调拨物理存储器,第二个参数是MEM_COMMIT同时预订和调拨物理存储器只调用VirtualAlloc一次,而...

2019-05-26 17:07:50 281

原创 【Windows核心编程笔记】第十四章 探索虚拟内存

系统消息GetSystemInfo 获取主机相关的值,比如页面大小、分配粒度等32位程序在64位系统上运行,涉及到模拟层(WOW64),32位程序通过WOW64运行和64位程序运行这两种情况,GetSystemInfo获取的信息可能会不同IsWow64Process 进程是否在WOW64运行只有返回值为TRUE的时候,第二个参数FALSE表示32在324,6在6...

2019-05-26 13:41:11 349

原创 【Windows核心编程笔记】第十三章 Windows的内存结构

每个进程都有它自己的私有地址空间(虚拟的)虚拟地址空间的分区:空指针赋值分区 用于帮助程序员捕获空指针的赋值,此分区禁止读写,你也没办法分配到此分区的虚拟内存用户模式分区 这里是进程地址空间的驻地,具体大小取决于CPU类型,进程间独立各自的分区,一般不能互相访问64KB禁入分区 位于用户方式分区上面,保留此分区是微软...

2019-05-25 21:48:53 261

原创 【Windows核心编程笔记】第十一章 线程池的使用

线程池开销并不小,所以使用之前先想好你是否真的需要它以异步方式调用函数定义函数:VOID NTAPI SimpleCallback(…….)TrySubmitThreadpoolCallback 让线程池中的线程执行该函数考虑到性能和内存使用,如果大量提交,建议创建工作项一次,分多次提交CreateThreadpoolWork 创建一个工作项SubmitThre...

2019-05-25 20:22:54 892

原创 【Windows核心编程笔记】第十章 同步设备I/O与异步设备I/O

知识点概述:打开或关闭设备CreateFile 创建和打开文件,当然也可以打开许多其他设备打开文件的时候,传入的路径名不能超过MAX_PATH,但是加上”\\?\”之后可以不受此限制,注意这是针对绝对路径而言的失败时返回值是INVALID_HANDLE_VALUE,而不是通常的NULL使用文件设备比如100kb文件压缩为10kbGetFileSizeEx 获取文件...

2019-05-25 17:44:00 241

转载 后台开发学习路线(仅供参考)

一时不知道看什么书了,所以就去百度了下Windows开发的学习路线,无意间遇到一个说的比较全面的,虽然与初衷不甚相符,觉得还是跟大家分享下比较好。以下是转载~以下是转载~以下是转载~...

2019-05-24 18:31:09 2010 1

原创 【Windows核心编程笔记】第十二章 纤程

知识点概述:用于Unix程序移植到Windows,应该尽量避免使用纤程是以用户模式来实现的线程转换为纤程(单线程创建多纤程的情况下才需要转换)并开始运行(纤程)CoverThreadToFiber创建纤程,但不执行(因为此时线程正在执行)CreateFiber在线程中使纤程运行SwitchToFiber撤销纤程DeleteFiber...

2019-05-24 09:53:53 168

零基础学小程序开发.docx

零基础学小程序开发.docx 是一个面向初学者的教程,主要讲述了如何简单快速的开始一个小程序开发。内容都是很简单的,通俗易懂的,没有编程基础也可以学习。

2020-07-15

c++回调示例(初级)

简单写了个C++的回调demo,其中包括普通函数的回调、静态函数的回调、非静态成员的回调三种方法的简单使用~ 备注:属于初级应用~

2019-07-11

MFC最全ToolTip例子+源文件

MFC可以直接使用的ToolTip控件,是网上流行的CppToolTip相关源代码以及对应的详细说明示例。对于项目中直接使用或者拿来研究来说,都是很好的资源。

2018-12-07

SQL智能提示终极版本(带教程)

此工具为使用SQL SERVER的同学们提供,可以智能提示以及其他强大功能。

2018-06-23

pcshare史上最全

本资源包含pcshare工具、上线教程以及源码,方便各位同学实时学习和应用修改。

2018-06-04

零基础C语言视频课程

包含小甲鱼和郝斌老师的全套C语言基础视频,对于零基础和补充学习的人来说,是很好的资源。

2018-05-15

Duilib学习大全(简单实例、入门教程、相关工具等)

本资源包含duilib相关的大部分资源:全套入门教程(chm格式)、设计器、属性列表、帮助文档以及对应的mfc单文档下使用duilib的一个简单示例,对于熟悉和学习duilib的来说是很好的一个资源。

2018-05-14

MFC.Windows程序设计(第二版)(示例源码、电子书、安装包等全部)

本资源包括了Windows程序设计第二版的全部相关资料,对于学习Windows编程、MFC、C++等相关人员都是很好的教程和参考资料。

2018-04-28

纯C实现语音合成(支持windows和linux),亲测可用(看评论酌情下载)

代码简介:本代码使用纯C实现语音的合成(女声,话质可以),可以在windwos和linux下直接使用。编译生成可执行程序(修改初始文本位置、生成位置即可)

2018-02-08

非常简单使用的好看界面

这是一款皮肤插件,使用方法非常简单,在里边有详细说明。主题为浅黑色,好看简约。

2013-06-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除