首页
学习
活动
专区
工具
TVP
发布

ccf19881030的博客

专栏作者
423
文章
1121925
阅读量
25
订阅数
VC++中使用OpenCV对原图像中的四边形区域做透视变换
最近闲着跟着油管博主murtazahassan,学习了一下LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision,对应的Github源代码地址为:Learn-OpenCV-cpp-in-4-Hours
ccf19881030
2024-01-17
1570
Intel IGCL规格指南和示例代码
IGCL 旨在成为用于硬件(主要是图形)所有控制方面的高级 API 的集合。它取代了传统的英特尔 CUISDK,后者过去仅发布给 OEM 和选定的客户。 IGCL 允许对显示、媒体和 3D 功能进行全局控制和调整。 相关官网地址为: IGCL Specification1.1-Introduction
ccf19881030
2024-01-06
1430
C#事件和代理的简单示例程序
这个视频对于C#中事件和委托(代理)的讲解和示例讲得很清晰明了。 首先创建一个EventAndDelegates的C# .Net控制台程序,然后输入对应的代码,运行。
ccf19881030
2023-12-18
980
Windows VC++提升当前进程权限到管理员权限
有时候Windows下我们需要提升当前进程的权限到管理员权限,相关VC++代码如下:
ccf19881030
2023-12-18
1930
省市区过滤
某web应用系统在登记信息时需要选择省市区,当省市区数量过多时,需要根据关键字模糊匹配、筛选出想要选择的地区。 现给定某个国家的系列地区名称及其归属地,记录于数组areas中, areas[i]=[area,belongTo],这些地区的关系形成一棵树。请计算并返回符合条件的全路径数量(可能为0); 一个地区的名称若包含关键字keyword中的所有字符(多个相同字符需要包含多次), 则被称为【匹配地区】,例如keyword未"ZSEE",地区 “SHENZHEN”是匹配地区,地区“SHENZHN”不是匹配地区。 一条全路径时从根到叶(含根和叶),路径上至少一个节点是匹配地区。
ccf19881030
2023-12-18
910
C++实现进程端口网络数据接收系统设计示例程序
最近做了一道简单的系统设计题,大概描述如下: 1.一个进程可以绑定多个端口,用于监听接收网络中的数据,但是一个端口只能被一个进程占用 2.1 <= pid <= 65535, 1 <= port <= 100000, 1 <= topNum <= 5, 0 <= packetLen < 1000 类接口函数声明如下,要求实现其中每个函数,满足程序要求。
ccf19881030
2023-12-10
1530
VC++使用GetProcessTimes获取进程创建时间、销毁时间、用户态时间、内核态时间
微软提供了一个非常有用的API函数GetProcessTimes用来获取进程创建时间、销毁时间、用户态时间、内核态时间,msdn连接为:GetProcessTimes 函数 (processthreadsapi.h) 其函数原型为:
ccf19881030
2023-12-08
3030
利用Python中的set函数对两个数组进行去重
有一个小需求:使用Python编写一个函数,两个列表arrayA和arrayB作为输入,将它们合并,删除重复元素,再对去重的列表进行排序,返回最终结果。 如果按照一步一步的做可以简单的写出如下Python代码:
ccf19881030
2023-12-07
1320
快速入门:使用 CMake 进行构建GoogleTest项目
关于GoogleTest和CMake结合使用,可以参照GoogleTest官方文档Quickstart: Building with CMake
ccf19881030
2023-12-06
1570
微软NativeApi-NtQuerySystemInformation
微软有一个比较实用的Native接口:NtQuerySystemInformation,具体可以参考微软msdn官方文档:NtQuerySystemInformation, 是一个系统函数,用于收集特定于所提供的指定种类的系统信息。ProcessHacker等工具使用NtQuerySystemInformation这个函数获取当前系统的处理器CPU核数,系统进程信息(包括CPU使用率、IO等)。
ccf19881030
2023-12-06
1290
VS2022编译运行processhacker源代码
ProcessHacker这款开源软件如官方所说是一款免费、强大的多用途工具,可帮助您监控系统资源、调试软件和检测恶意软件,我们可以通过学习其源代码在我们的软件中定时采集每个进程的CPU使用率、IO使用率等等,还有整机总的CPU使用率、GPU使用率、内存、磁盘使用情况等,具体可以参考ProcessHacker官网的介绍:Process Hacker Overview。最近在看进程CPU采集的代码,参考的是processhacker的源代码的采集逻辑,processhacker是每隔1秒钟采集一次当前进程的CPU使用率的,当然我们也可以根据自己需要将进程的CPU采集频率改小一些,或者改大一些。于是尝试使用VS2022打开processhacker源代码编译运行,看一下进程CPU使用率的采集流程,当然ProcessHacker除了可以采集进程的CPU使用率之外,还可以进程的采集IO使用率等。
ccf19881030
2023-12-05
1690
VS2022编译运行processhacker源代码
ProcessHacker这款开源软件如官方所说是一款免费、强大的多用途工具,可帮助您监控系统资源、调试软件和检测恶意软件,我们可以通过学习其源代码在我们的软件中定时采集每个进程的CPU使用率、IO使用率等等,还有整机总的CPU使用率、GPU使用率、内存、磁盘使用情况等,具体可以参考ProcessHacker官网的介绍:Process Hacker Overview。最近在看进程CPU采集的代码,参考的是processhacker的源代码的采集逻辑,processhacker是每隔1秒钟采集一次当前进程的CPU使用率的,当然我们也可以根据自己需要将进程的CPU采集频率改小一些,或者改大一些。于是尝试使用VS2022打开processhacker源代码编译运行,看一下进程CPU使用率的采集流程,当然ProcessHacker除了可以采集进程的CPU使用率之外,还可以进程的采集IO使用率等。
ccf19881030
2023-12-05
1350
VS2022编译运行processhacker源代码
ProcessHacker这款开源软件如官方所说是一款免费、强大的多用途工具,可帮助您监控系统资源、调试软件和检测恶意软件,我们可以通过学习其源代码在我们的软件中定时采集每个进程的CPU使用率、IO使用率等等,还有整机总的CPU使用率、GPU使用率、内存、磁盘使用情况等,具体可以参考ProcessHacker官网的介绍:Process Hacker Overview。最近在看进程CPU采集的代码,参考的是processhacker的源代码的采集逻辑,processhacker是每隔1秒钟采集一次当前进程的CPU使用率的,当然我们也可以根据自己需要将进程的CPU采集频率改小一些,或者改大一些。于是尝试使用VS2022打开processhacker源代码编译运行,看一下进程CPU使用率的采集流程,当然ProcessHacker除了可以采集进程的CPU使用率之外,还可以进程的采集IO使用率等。
ccf19881030
2023-12-05
1510
Windows10中在Visual Studio2017中VC++项目安装使用GoogleTest库
在Windows10中VC++程序中可以不用自己手动下载GoogleTest源代码,可以直接通过【项目】-> 【管理 NuGet 程序包】-> 【浏览】-> 搜索 googletest, 找到Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn这一项,然后右侧的【安装】按钮安装即可。
ccf19881030
2023-12-01
2370
Windows10中在Visual Studio2017中VC++项目安装使用GoogleTest库
在Windows10中VC++程序中可以不用自己手动下载GoogleTest源代码,可以直接通过【项目】-> 【管理 NuGet 程序包】-> 【浏览】-> 搜索 googletest, 找到Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn这一项,然后右侧的【安装】按钮安装即可。
ccf19881030
2023-12-01
2010
C++ STL map迭代器失效问题
最近在开发过程中,定位一个问题的时候,发现多线程场景下大量创建和销毁某个C:\Windows\System32\reg.exe时出现了383个进程创建消息处理的接口,和384个进程销毁处理消息的接口都在等待锁,另外一个线程也在等锁,后面看了一下在处理进程创建和进程销毁的IPC消息处理所在类中有三把锁,执行流程都锁住了,猜测应该是某个线程持有锁没释放,导致其他并发线程锁住了,结合转储的dump和log日志,以及使用VS2017加载对应的dump,对并行堆栈中的线程进行分析,找了很久没发现问题。最后想了一下,是不是某个地方线程做了耗时或者同步阻塞操作导致的,或者线程中执行了死循环,排查后发现是因为一个同事在对map做循环遍历时,erase操作不当,导致某个地方迭代器失效,线程崩溃了,持有两把锁,其他所有线程都拿不到锁,导致IPC消息一直无法发送,最后程序无法升级。
ccf19881030
2023-11-26
3270
C++ vector迭代器失效
最近在看STL容器失效的例子,涉及到vector数组迭代器失效的问题,如果不注意使用,很容易出现问题,我们先来看一下一个简单的示例程序,在数组nums中删除大于50的元素,代码如下:
ccf19881030
2023-11-26
1620
C++中使用R“()“标记符书写多行字符串
那么在C++中有没有比较方便的方式书写SQL脚本呢?因为在实际编程中,对于那种较长的SQL脚本,我们如果在代码中一行写的话有时不容易阅读和理解。在油管上看到C++博主The Cherno的一篇String Literals in C++的视频,里面提到了使用R"()"标记符书写多行字符串的用法。
ccf19881030
2023-09-09
2030
Python正则表达式校验某个字符串是否是合格的email
Python正则表达式校验某个字符串是否是合格的email 可以借助正则表达式校验某个字符串是否是合规的电子邮箱。对于邮箱的正则表达式有严格的模式,如:^[a-zA-Z0-9_+&*-]+(?:\\.
ccf19881030
2023-07-24
2370
C++正则表达式校验某个字符串是否是合格的email
C++正则表达式校验某个字符串是否是合格的email 可以借助正则表达式校验某个字符串是否是合规的电子邮箱。对于邮箱的正则表达式有严格的模式,如:^[a-zA-Z0-9_+&*-]+(?:\\.[a-
ccf19881030
2023-07-24
2390
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档