- 博客(377)
- 资源 (5)
- 收藏
- 关注
原创 C# WPF/Winform多用户切换
本文主要介绍了一种多用户切换的方案,保证了WPF/Winform应用程序单用户下只能有一个进程实例运行,多用户下多个实例运行。
2021-12-26 12:02:59 1080 1
原创 C/C++表驱动方法(避免使用大量if判断或Switch分支)
C/C++表驱动方法,避免使用大量if判断或Switch分支,精简代码,提升代码架构。
2021-12-17 22:16:09 1992
原创 GPUView使用指南
安装: https://docs.microsoft.com/zh-cn/windows-hardware/get-started/adk-installD:\Windows Kits\10\Windows Performance Toolkit\gpuview加环境变量使用方法:.\log.cmd执行后,搜集信息,再次执行.\log.cmd后,结束执行并合成Merged.etl文件1. 第一次使用如果报错,请修改log.cmd文件,在文件开始增加一行set TRACE_LOGGING_
2021-02-12 13:44:01 2528
原创 C#解决动态添加自定义控件窗口闪烁的问题
https://blog.csdn.net/suleil1/article/details/49471685
2021-01-17 15:25:34 1351
原创 C# 半透明遮罩
https://www.cnblogs.com/junezhang/archive/2012/07/06/2579215.html1、必须是Control的子控件2、不能更改内容
2021-01-17 15:17:31 1158 1
原创 C# winform实现Label与PictureBox控件重叠透明
PictureBox pb = new PictureBox(); Label lb = new Label(); pb.SendToBack(); lb.Parent = pb; lb.BackColor = Color.Transparent; lb.BringToFront(); this.Controls.Add(pb); pb.Controls.Add(lb);
2021-01-17 15:11:45 1680 1
原创 C#去除Winform最大化、最小化和关闭按钮(三种解决方案)
private const int WS_SYSMENU = 0x80000;protected override CreateParams CreateParams{ get { CreateParams cp = base.CreateParams; cp.Style &= ~WS_SYSMENU; return cp; }}
2021-01-17 15:00:51 6234
原创 C#设置Form隐藏(解决设置Visible属性没有用的情况)
protected override void SetVisibleCore(bool value) { if (!this.IsHandleCreated) { value = false; CreateHandle(); } base.SetVisibleCore(value); }...
2021-01-17 13:55:53 4151
原创 VS设置编译项目时同时编译相关联的项目
需求分析在基于Visual Studio开发项目的过程中,有时一个项目依赖其他的几个项目,需要在编译一个项目时同时对其依赖的多个项目进行编译。解决方案如下所示,WindowsMouseAPP为应用程序,SkinForm和MouseService为WindowsMouseAPP依赖的dll库。对于添加C#类库,可直接按照如下步骤采用引用的方式进行关联:对于C++类库,在解决方案上点击鼠标右键->属性->通用属性->项目依赖项,在需要同时生成的项目上勾选复选框。
2021-01-17 13:43:31 1693
原创 Windows10安装WDK报错setup cannot locate windows debugging wdk integration-x86_en-us.msi
setup cannot locate windows debugging wdk integration-x86_en-us.msiIE使用了代理导致的
2021-01-15 22:25:13 5440 2
原创 Linux平台基于epoll实现网络编程IO多路复用
epoll 是在Linux 2.6 内核中提出的,是之前select 和poll 的增强版本。相对于select 和poll 来说, epoll 更加灵活,没有描述符限制。epoll 使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间之间的数据拷贝只需一次。一、epoll 接口使用epoll 必须包含下面的这个头文件:#include <sys/epoll .h>epoll 操作过程需要3 个接口,分别如下:int e
2020-11-14 18:14:55 357
原创 Linux平台基于poll实现网络编程IO多路复用
1、概念介绍IO多路复用模型,也称为事件驱动IO模型,它的原理为通过一个函数(如poll)不断地轮询所负责的所有socket,当某个socket有数据到达时,就通知用户进程。#include<poll.h>int poll(struct pollfd * fds,unsigned int nfds ,int timeout);pollfd结构体定义如下所示:struct pollfd {int fd; /*文件描述符*/short events ;/*等待的事件*/
2020-11-08 20:47:32 467
原创 Linux平台基于select实现网络编程IO多路复用
目录1、概念介绍2、示例代码(1)server.cpp(2) client.cpp(3) Makefile(4) 编译 & 运行1、概念介绍IO多路复用模型,也称为事件驱动IO模型,它的原理为通过一个函数(如select)不断地轮询所负责的所有socket,当某个socket有数据到达时,就通知用户进程。FD_ ZERO(int fd, fd_set * fds) ;FD_ SET(int fd, fd_set * fds) ;FD_ISSET (工.
2020-11-08 20:13:02 197
原创 LeetCode C++刷题142-145题题解
142、环形链表II题目给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引...
2020-10-17 23:35:45 289
原创 LeetCode C++刷题138-141题题解
138、复制带随机指针的链表题目给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。我们用一个由n个节点组成的链表来表示输入/输出中的链表。每个节点用一个[val, random_index]表示:val:一个表示Node.val的整数。random_index:随机指针指向的节点索引(范围从0到n-1);如果不指向任何节点,则为null。示例 1:输入:head = [[7,...
2020-10-17 23:28:29 289
原创 剑指offer C++刷题总结(4)
调整数组顺序使奇数位于偶数前面题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。题解:双指针完整代码:class Solution {public: void reOrderArray(vector<int> &array) { int i = 0; for(int j = 0; j <
2020-10-17 21:32:53 185
原创 剑指offer C++刷题总结(3)
目录变态跳台阶题目:题解:完整代码:矩阵覆盖题目:题解:完整代码:二进制中1的个数题目:题解:完整代码:数值的整数次方题目:题解:完整代码:变态跳台阶题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题解:动态规划完整代码:class Solution {public: int jumpFloorII(int number) {.
2020-10-17 21:18:33 263
原创 剑指offer C++刷题总结(2)
二维数组中的查找题目:题解:完整代码:二维数组中的查找题目:题解:完整代码:二维数组中的查找题目:题解:完整代码:二维数组中的查找题目:题解:完整代码:...
2020-10-17 21:09:22 233
原创 LeetCode C++刷题133-137题题解
目录133、克隆图题目题解代码134、加油站题目题解代码135、分发糖果题目题解代码136、只出现一次的数字题目题解代码137、只出现一次的数字II题目题解代码133、克隆图题目给你无向连通图中一个节点的引用,请你返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node { public int val; ...
2020-09-20 18:23:13 341
原创 LeetCode C++刷题129-132题题解
129、求根到叶子节点数字之和题目给定一个二叉树,它的每个结点都存放一个0-9的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明:叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 代表数字 12.从根到叶子节点路径 1->3 代表数字 13....
2020-09-20 18:17:53 301
原创 LeetCode C++刷题125-128题题解
125、验证回文串题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-palindrome著作权归领扣网络所有。商业转载
2020-09-20 18:12:49 321
原创 LeetCode C++刷题121-124题题解
目录121、买卖股票的最佳时机题目题解代码122、买卖股票的最佳时机II题目题解代码123、买卖股票的最佳时机III题目题解代码124、二叉树中的最大路径和题目题解代码121、买卖股票的最佳时机题目给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: ..
2020-09-20 18:07:20 294
原创 剑指offer C++刷题总结(1)
二维数组中的查找题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解:双指针完整代码:class Solution {public: bool Find(int target, vector<vector<int> > array) { int m = array.size();
2020-09-18 21:02:01 535
原创 LeetCode C++刷题116-120题题解
目录116 填充每个节点的下一个右侧节点指针题目题解完整代码117 填充每个节点的下一个右侧节点II题目题解完整代码118 杨辉三角题目题解完整代码119 杨辉三角II题目题解完整代码120 三角形中的最小路径和题目题解完整代码116 填充每个节点的下一个右侧节点指针题目给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val;..
2020-09-05 12:03:54 322
原创 LeetCode C++刷题111-115题题解
111 二叉树的最小深度题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-t...
2020-09-05 11:52:49 283
原创 LeetCode C++刷题106-110题题解
106 从中序与后续遍历构建二叉树题目根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder =[9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-...
2020-09-05 11:40:25 233
原创 LeetCode C++刷题101-105题题解
101 对称二叉树题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3进阶:你可以运用递归和迭代两种方法解决这个问题吗?来源:力扣(LeetCode)链接:https://...
2020-09-05 11:34:23 273
原创 Linux平台C++连接Redis进行相关数据操作
1、安装hiredis1.1下载hiredis可以采用两种方式:方法1、在linux平台直接运行下方命令:git clone https://github.com/redis/hiredis方法2、通过浏览器在Github官网下载后解压(注:为什么提供这种比较傻瓜的方法,因为我通过方法一下载了很多次都没成功,大哭)1.2安装hiredis进入hiredis根目录,依次运行下方命令:cd hiredismakesudo make install(复制生成的库到/u.
2020-08-30 17:53:52 582
原创 LeetCode C++刷题97-100题题解
97、交错字符串题目:给定三个字符串s1, s2, s3, 验证s3是否是由s1和s2 交错组成的。示例 1:输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出:true示例2:输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出:false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/interlea...
2020-08-22 23:11:23 431
原创 LeetCode C++刷题93-96题题解
93、复原IP地址题目:给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效的 IP 地址。示例 1:输入:s = "25525511135".
2020-08-22 23:04:23 291
原创 LeetCode C++刷题89-92题题解
89、格雷编码题目:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。示例 1:输入:2输出:[0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的n,其格雷编码序列并不唯一。例如,[0,2,3,1]也是一个有效的格雷编码序列。00 - 010 - 211 -...
2020-08-22 23:00:00 346
原创 LeetCode C++刷题85-88题题解
85、最大矩形题目:给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"]]输出: 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximal-rectangle著作权归领扣...
2020-08-22 22:55:53 237
原创 Linux平台 C++ shared_ptr和weak_ptr实现对象资源的管理
一、前言Shared_ptr采用引用计数实现自动化资源管理,当引用计数降为0时,对象(资源)即被销毁。weak_ptr也是一个引用计数型的智能指针,但是它不增加对象的引用计数,即弱(weak)引用。Shared_ptr在下列情况之一出现时销毁对象并释放内存:最后占有std::shared_ptr对象被销毁时; 最后占有std::shared_ptr对象被通过operator=或reset()赋值为另一个指针。●shared_ ptr控制对象的生命期。shared_ptr是强引用(想象成用铁丝
2020-08-19 22:03:13 614
原创 OSG/OSGEarth一万一千字学习实践完整总结(强烈推荐!!!)
目录01前言02编译和配置编译OSG和OSGEarth下载路径配置OSG和OsgEarth的release版本程序03搭建MFC桌面端程序1、新建MFC应用程序DigitalEarth,选择单个文档。2、实现osgEarth相关功能。3、将osgEarth程序运行结果在MFC文档视图中显示。四、运行程序,即可看到如下结果:04基本功能实现Earth文件加载地理空间数据加载影像数据加载DEM数据Earth文件加载地理空间数据显示与隐藏...
2020-08-19 19:22:41 3483 3
垃圾分类数据集及代码
2020-11-11
Naruto.zip
2019-05-16
TensorFlow transfer learning权值文件、数据集
2019-04-14
pose_deploy.prototxt
2019-02-27
南瓜、西瓜、西红柿图片数据集
2019-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人