<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cchangcs]]></title><description><![CDATA[公众号：hw_cchang  |  GitHub： https://github.com/cchangcs  |  Email：cchang@whu.edu.cn]]></description><link>https://blog.youkuaiyun.com/github_39611196</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_39611196]]></copyright><item><title><![CDATA[C# Console项目调用WPF DLL显示窗口]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/122630047</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/122630047</guid><author>github_39611196</author><pubDate>Fri, 21 Jan 2022 21:52:45 +0800</pubDate><description><![CDATA[本文主要介绍在C# Console项目中调用WPF DLL进行窗口显示。]]></description><category></category></item><item><title><![CDATA[C#调用C++ DLL bool返回值始终为true]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/122629856</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/122629856</guid><author>github_39611196</author><pubDate>Fri, 21 Jan 2022 21:38:33 +0800</pubDate><description><![CDATA[C#调用C++ DLL，bool返回值始终为true。]]></description><category></category></item><item><title><![CDATA[C++ string乱码可能解决方案]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/122629656</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/122629656</guid><author>github_39611196</author><pubDate>Fri, 21 Jan 2022 21:26:18 +0800</pubDate><description><![CDATA[string乱码，其中一种可能解决方案。]]></description><category></category></item><item><title><![CDATA[解决C++调用DLL，传入DLL后参数变为空值问题]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/122629422</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/122629422</guid><author>github_39611196</author><pubDate>Fri, 21 Jan 2022 21:15:22 +0800</pubDate><description><![CDATA[解决C++调用DLL，传入DLL后参数变为空值问题。]]></description><category></category></item><item><title><![CDATA[C语言使用注册回调方式实现模块间交互（解耦合）]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/122279130</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/122279130</guid><author>github_39611196</author><pubDate>Sun, 02 Jan 2022 19:58:13 +0800</pubDate><description><![CDATA[C语言采用注册回调的方式进行模块间交互，实现模块间解耦合。]]></description><category></category></item><item><title><![CDATA[C#程序崩溃捕获与自动重启方法（简洁有效）]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/122153855</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/122153855</guid><author>github_39611196</author><pubDate>Sun, 26 Dec 2021 12:27:19 +0800</pubDate><description><![CDATA[本文主要介绍如何在C#程序运行出错时，自动执行程序重启，方法已自验证3000次并已商用。]]></description><category></category></item><item><title><![CDATA[C# WPF/Winform多用户切换]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/122153231</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/122153231</guid><author>github_39611196</author><pubDate>Sun, 26 Dec 2021 12:02:59 +0800</pubDate><description><![CDATA[本文主要介绍了一种多用户切换的方案，保证了WPF/Winform应用程序单用户下只能有一个进程实例运行，多用户下多个实例运行。]]></description><category></category></item><item><title><![CDATA[C/C++表驱动方法（避免使用大量if判断或Switch分支）]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/122005504</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/122005504</guid><author>github_39611196</author><pubDate>Fri, 17 Dec 2021 22:16:09 +0800</pubDate><description><![CDATA[C/C++表驱动方法，避免使用大量if判断或Switch分支，精简代码，提升代码架构。]]></description><category></category></item><item><title><![CDATA[GPUView使用指南]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/112787641</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/112787641</guid><author>github_39611196</author><pubDate>Fri, 12 Feb 2021 13:44:01 +0800</pubDate><description><![CDATA[安装： https://docs.microsoft.com/zh-cn/windows-hardware/get-started/adk-install

D:\Windows Kits\10\Windows Performance Toolkit\gpuview

加环境变量

使用方法：.\log.cmd执行后，搜集信息，再次执行.\log.cmd后，结束执行并合成Merged.etl文件

1. 第一次使用如果报错，请修改log.cmd文件，在文件开始增加一行

set TRACE_LOGGING_]]></description><category></category></item><item><title><![CDATA[C#解决动态添加自定义控件窗口闪烁的问题]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/112249541</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/112249541</guid><author>github_39611196</author><pubDate>Sun, 17 Jan 2021 15:25:34 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/suleil1/article/details/49471685
]]></description><category></category></item><item><title><![CDATA[C# 半透明遮罩]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/111643548</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/111643548</guid><author>github_39611196</author><pubDate>Sun, 17 Jan 2021 15:17:31 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/junezhang/archive/2012/07/06/2579215.html



1、必须是Control的子控件

2、不能更改内容
]]></description><category></category></item><item><title><![CDATA[C# winform实现Label与PictureBox控件重叠透明]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/111661791</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/111661791</guid><author>github_39611196</author><pubDate>Sun, 17 Jan 2021 15:11:45 +0800</pubDate><description><![CDATA[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);
	
]]></description><category></category></item><item><title><![CDATA[C#去除Winform最大化、最小化和关闭按钮（三种解决方案）]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/111477166</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/111477166</guid><author>github_39611196</author><pubDate>Sun, 17 Jan 2021 15:00:51 +0800</pubDate><description><![CDATA[private const int WS_SYSMENU = 0x80000;
protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.Style &amp;= ~WS_SYSMENU;
        return cp;
    }
}
]]></description><category></category></item><item><title><![CDATA[C#设置Form隐藏（解决设置Visible属性没有用的情况）]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/112692420</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/112692420</guid><author>github_39611196</author><pubDate>Sun, 17 Jan 2021 13:55:53 +0800</pubDate><description><![CDATA[protected override void SetVisibleCore(bool value)
    {
      if (!this.IsHandleCreated) {
        value = false;
        CreateHandle();
      }
      base.SetVisibleCore(value);
    }
...]]></description><category></category></item><item><title><![CDATA[VS设置编译项目时同时编译相关联的项目]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/112462679</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/112462679</guid><author>github_39611196</author><pubDate>Sun, 17 Jan 2021 13:43:31 +0800</pubDate><description><![CDATA[需求分析

在基于Visual Studio开发项目的过程中，有时一个项目依赖其他的几个项目，需要在编译一个项目时同时对其依赖的多个项目进行编译。

解决方案

如下所示，WindowsMouseAPP为应用程序，SkinForm和MouseService为WindowsMouseAPP依赖的dll库。



对于添加C#类库，可直接按照如下步骤采用引用的方式进行关联：



对于C++类库，在解决方案上点击鼠标右键-&gt;属性-&gt;通用属性-&gt;项目依赖项，在需要同时生成的项目上勾选复选框。

]]></description><category></category></item><item><title><![CDATA[Windows10安装WDK报错setup cannot locate windows debugging wdk integration-x86_en-us.msi]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/111210511</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/111210511</guid><author>github_39611196</author><pubDate>Fri, 15 Jan 2021 22:25:13 +0800</pubDate><description><![CDATA[setup cannot locate windows debugging wdk integration-x86_en-us.msi



IE使用了代理导致的
]]></description><category></category></item><item><title><![CDATA[Linux平台基于epoll实现网络编程IO多路复用]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/109631237</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/109631237</guid><author>github_39611196</author><pubDate>Sat, 14 Nov 2020 18:14:55 +0800</pubDate><description><![CDATA[epoll 是在Linux 2.6 内核中提出的，是之前select 和poll 的增强版本。相对于select 和poll 来说， epoll 更加灵活，没有描述符限制。epoll 使用一个文件描述符管理多个描述符，将
用户关系的文件描述符的事件存放到内核的一个事件表中，这样在用户空间和内核空间之间的数据拷贝只需一次。

一、epoll 接口

使用epoll 必须包含下面的这个头文件：#include &lt;sys/epoll .h&gt;
epoll 操作过程需要3 个接口，分别如下：

int e]]></description><category></category></item><item><title><![CDATA[Linux平台基于poll实现网络编程IO多路复用]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/109563826</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/109563826</guid><author>github_39611196</author><pubDate>Sun, 08 Nov 2020 20:47:32 +0800</pubDate><description><![CDATA[1、概念介绍

IO多路复用模型，也称为事件驱动IO模型，它的原理为通过一个函数（如poll）不断地轮询所负责的所有socket，当某个socket有数据到达时，就通知用户进程。

#include&lt;poll.h&gt;

int poll(struct pollfd * fds,unsigned int nfds ，int timeout);

pollfd结构体定义如下所示：

struct pollfd {

int fd; /*文件描述符＊／

short events ；/*等待的事件＊／
]]></description><category></category></item><item><title><![CDATA[Linux平台基于select实现网络编程IO多路复用]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/109563807</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/109563807</guid><author>github_39611196</author><pubDate>Sun, 08 Nov 2020 20:13:02 +0800</pubDate><description><![CDATA[目录



1、概念介绍

2、示例代码

（1）server.cpp

(2) client.cpp

(3) Makefile

(4) 编译 &amp; 运行

1、概念介绍

IO多路复用模型，也称为事件驱动IO模型，它的原理为通过一个函数（如select）不断地轮询所负责的所有socket，当某个socket有数据到达时，就通知用户进程。

FD_ ZERO(int fd, fd_set * fds) ;

FD_ SET(int fd, fd_set * fds) ;

FD_ISSET （工.]]></description><category></category></item><item><title><![CDATA[LeetCode C++刷题142-145题题解]]></title><link>https://blog.youkuaiyun.com/github_39611196/article/details/109139598</link><guid>https://blog.youkuaiyun.com/github_39611196/article/details/109139598</guid><author>github_39611196</author><pubDate>Sat, 17 Oct 2020 23:35:45 +0800</pubDate><description><![CDATA[142、环形链表II

题目


给定一个链表，返回链表开始入环的第一个节点。如果链表无环，则返回null。

为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 如果 pos 是 -1，则在该链表中没有环。注意，pos 仅仅是用于标识环的情况，并不会作为参数传递到函数中。

说明：不允许修改给定的链表。

进阶：

你是否可以使用 O(1) 空间解决此题？


示例 1：



输入：head = [3,2,0,-4], pos = 1
输出：返回索引...]]></description><category></category></item></channel></rss>