排序
基于surging 的木舟平台如何通过Tcp或者UDP网络组件接入设备
基于surging 的木舟平台如何通过Tcp或者UDP网络组件接入设备,一、概述 上篇文章介绍了木舟通过HTTP网络组件接入设备,那么此篇文章将介绍如何利用Tcp或者UDP网...
第40篇 ConfuserEx混淆代码,防止反编译
第40篇 ConfuserEx混淆代码,防止反编译,要想自己的dll或程序禁止被反编译成功,可以使用ConfuserEx混淆代码 1.正常反编译 1.1 创建一个demo控制台 新建Test类,写个fun 1.2 正常编译看的效果 ...
聊一聊 C#线程池 的线程动态注入 (中)
聊一聊 C#线程池 的线程动态注入 (中),一:背景 1. 讲故事 上一篇我们用 Thread.Sleep 的方式演示了线程池饥饿场景下的动态线程注入,可以观察到大概 1s 产生 1~2 个新线程,很显然这样的增长速...
函数指针和std::function在成员函数的使用区别
函数指针和std::function在成员函数的使用区别,成员函数,函数指针和 std::function 的区别很明显。成员函数的调用需要依赖于对象实例(即 this 指针),因此它们的处理方式与普通函数不同。以...
聊一聊 C#异步中的Overlapped是如何寻址的
聊一聊 C#异步中的Overlapped是如何寻址的,一:背景 1. 讲故事 前段时间训练营里的一位朋友提了一个问题,我用ReadAsync做文件异步读取时,我知道在Win32层面会传 lpOverlapped 到内核层,那在...
在.NET程序中整合微软的Playwright,使用 Playwright 的最佳实践和技巧
在.NET程序中整合微软的Playwright,使用 Playwright 的最佳实践和技巧,Playwright 是一个由 Microsoft 开发的开源工具,用于自动化 Web 浏览器的测试和操作。它提供了一种跨浏览器、跨平台的自...
.NET中使用 openGauss C# ORM
.NET中使用 openGauss C# ORM,openGauss(GaussDB ) openGauss是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能...
dotnet C# 在不同的机器 CPU 型号上的基准性能测试
dotnet C# 在不同的机器 CPU 型号上的基准性能测试,本文将记录我在多个不同的机器上,在不同的 CPU 型号上,执行相同的我编写的 dotnet 的 Benchmark 的代码,测试不同的 CPU 型号对 C# 系的优...
AOT漫谈专题(第四篇): C#程序如何编译成Native代码
AOT漫谈专题(第四篇): C#程序如何编译成Native代码,一:背景 1. 讲故事 大家都知道所谓的.NET Native AOT即通过AOT编译器直接将C#代码编译成机器码,大家也习惯用C/C++的编译过程来类比,都是静...
Avalonia的自定义用户组件
Avalonia的自定义用户组件,Avalonia中的自定义用户控件 Avalonia是一个跨平台的.NET UI框架,它允许开发者使用C#和XAML来构建丰富的桌面应用程序。 自定义用户控件(UserControl)是Avalonia中...
字符编码发展史2 — ISO-8859-N
字符编码发展史2 — ISO-8859-N, 2.2. 第二个阶段 本地化 2.2.1. ANSI 2.2.2. ISO/IEC 8859-N 2.2.2.1. 什么是ISO/IEC 8859-N? 2.2.2.2. ISO 8859-1的编码表 上一篇《字符编码发展史1 — ASCII...
2024年,WinUI3 使用 AccountsSettingsPane 获取微软账户信息
2024年,WinUI3 使用 AccountsSettingsPane 获取微软账户信息,背景介绍:UWP 应用可以使用 AccountsSettingsPane 调用系统 UI 实现授权登录功能,相比跳转到网页可以获得更流畅的体验。 起 动手...













