自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bobowen的博客

请君加油!

  • 博客(275)
  • 收藏
  • 关注

原创 Windows系统的注册表盘点、大全

Windows系统的注册表盘点、大全

2024-07-24 23:36:57 667

原创 windows注册表:开机自启动程序配置

在Windows操作系统中,注册表是一个关键的数据库,它存储了系统和应用程序的设置和选项。设置开机自启动程序通常涉及到对注册表的修改。以下是一些关键点和注意事项。

2024-07-24 23:11:30 725

原创 windows:加载dll时的DLLMain介绍

在实际开发中,通常情况下,系统自带的初始化和清理机制(如全局变量初始化和析构、自动内存管理等)已经足够。然而,有些特定场景下,需要开发者自己在DllMain中处理和。以下是一些可能的情况:线程本地存储(TLS)当需要在每个线程中维护独立的数据(如线程本地存储),必须手动进行线程初始化和清理。例如,多线程日志记录、线程特定的配置等。示例:每个线程都有独立的日志文件句柄或配置对象。资源管理当需要在DLL加载时分配全局资源(如文件句柄、网络连接)并在卸载时释放这些资源时,必须手动进行初始化和清理。示例。

2024-07-19 01:01:54 1026

原创 C++:进度条bar设计(附代码)

进度条是工具类软件的灵魂,可以缓解使用者的焦虑。下面探讨简单的进度条设计。元素:显示进度的符号、进度条长度、颜色、标题。

2024-07-16 23:59:23 242

原创 C++ 模板:全特化和偏特化

在C++中,模板特化(template specialization)是一种强大的功能,允许对模板进行特定情况下的处理。模板特化主要分为全特化和偏特化两种。

2024-06-25 23:17:39 441

原创 C++ 字符串流化 stringstream

位于头文件中,是的类型定义。它是一个模板类,继承自,可以同时进行输入和输出操作。可以看到在各种实际编程任务中都有广泛的应用。不论是格式化输出、数据解析、生成动态内容,还是处理多行文本、生成命令行字符串等,都提供了灵活且强大的解决方案。这些示例展示了的多种妙用,希望能帮助你更好地理解和应用这一强大的工具。

2024-06-21 01:34:55 562

原创 Linux GCC & G++:各个版本发行年份及新增特性盘点

全称主要功能:GCC 是一个编译器套件,支持多种编程语言,包括 C、C++、Fortran、Ada、Go 等。命令行工具gcc全称主要功能:G++ 是 GCC 的一个前端,用于编译 C++ 程序。命令行工具g++

2024-06-20 00:33:20 1223

原创 Windows C++:父子进程通信利器:匿名管道(Anonymous Pipe)

匿名管道在父子进程之间的简单高效通信、低开销、隐私和安全性、句柄继承的便利性以及与标准输入输出的集成等方面具有显著优势。它们是适用于同一台计算机上进程间通信的有效工具,特别适用于父子进程间需要快速和高效数据传输的场景。

2024-06-16 23:18:29 794

原创 Windows C++: 剪切板内容获取

获取Windows用户的剪切操作是部分程序的需求,我们同样可以利用这个功能做一个小工具来记忆曾经的复制内容。我们可以直接监控,但是程序必须阻塞,也可以开线程来监控。

2024-06-09 02:44:58 300

原创 阅读《HTTP权威指南》:重温HTTP基础。

HTTP权威指南:重温HTTP基础。以下是如何在Windows C++中使用函数的示例代码: 第四章、连接管理 客户端请求:服务器响应: 第七章、缓存 第十章、HTTP-NG

2024-05-26 04:56:45 694

原创 windows C++:进程间通信高实时性、安全、数据量大的通信方式(一)文件映射 (File Mapping)

文件映射通过将文件的部分或全部内容映射到一个或多个进程的虚拟地址空间,使得这些进程可以像访问普通内存一样访问文件内容。创建或打开文件:进程首先需要创建或打开一个文件。创建文件映射对象:通过调用 Windows API 函数,创建一个文件映射对象。这个对象表示文件的映射视图。映射视图到内存:使用函数将文件映射对象的一个视图映射到进程的地址空间中。

2024-05-15 01:07:46 940

原创 AES对称加密算法原理、C++代码示例

高级加密标准(AES,全称:Advanced Encryption Standard)是一种对称加密算法,由美国国家标准与技术研究院(NIST)于2001年发布。它取代了数据加密标准(DES),成为许多政府、企业和机构广泛使用的标准加密方法。AES (Advanced Encryption Standard) 是一种对称加密算法,由 NIST 于 2001 年发布,取代了 DES。它通过多轮数学操作将明文转换为密文,密钥长度为 128、192 或 256 位。主要步骤包括字节代替、行移位、列混合和轮密钥加。

2024-05-12 16:55:54 779

原创 Windows C++: 提升代码权限,运行前、运行时。

关联和区别:通过修改应用程序的清单文件,可以使程序在启动时默认要求管理员权限。与运行时动态获取权限的方法不同,清单文件的方法是固定和全局的。优点简单直接,不需要额外代码。一次配置后,程序始终要求管理员权限。缺点如果不需要所有操作都以管理员身份执行,此方法可能过于强制。使用场景:适合于所有操作都需要管理员权限的程序,例如系统工具或安装程序。这些方法从全局到局部、从简单到复杂提供了不同的获取管理员权限的方案。

2024-05-12 05:52:30 1167

原创 Windows C++ 读取、修改配置文件.ini

INI文件(初始化文件)是一种简单的文本文件,用于存储程序的配置设置。它们通常用于Windows操作系统环境中,但也可以在其他操作系统中使用。INI文件以简单的键值对格式存储数据,使其易于读取和修改。这种文件格式非常适合存储程序的首选项和配置信息。INI文件由多个节(Section)组成,每个节可以包含多个键(Key)和相应的值(Value)。节通过方括号[]包围的标题来标识,键和值之间通常使用等号分隔。[Settings]Theme=Dark[User]在这个例子中,Settings和User。

2024-05-12 01:24:56 466

原创 winhex工具,将文件转换为16进制数据放入代码。

在本文中,我们详细探讨了使用 WinHex 工具的实际应用,该工具能够读取文件内容并以16进制格式显示。WinHex 不仅提供了一种直观的方式来查看和编辑二进制文件,而且还支持将这些数据导出为C语言代码,极大地方便了程序开发和数据分析。我们通过一个具体的示例展示了如何使用 WinHex 打开一个文件,并将其内容作为16进制数据导出。接着,利用 C++ 代码,我们将这些数据写入到新的文件中,确保新文件与原文件内容完全一致,体现了数据处理的精确性和高效性。通过本文的讲

2024-05-11 22:42:50 782

原创 【GO】“time“ 包基础介绍

1. 时间和日期的表示基本时间获取时间组件的访问时间戳的使用2. 时间的构造基本的时间构造构造不同时区的时间使用不同的时间单位时间和日期的边界3. 时间格式化与解析时间格式化(Format)时间解析(Parse)4. 时间的比较、计算时间比较时间加减复杂的时间计算使用 Duration 类型5. 时间间隔和定时器时间间隔(Duration)使用 time.Sleep 实现延时使用 time.Tick 创建定时器使

2024-04-28 01:39:16 843

原创 【GO】命令行解析 os 与 flag

【GO】命令行解析 os 与 flag

2024-04-27 00:52:24 549

原创 【Go】匿名函数与闭包

【Go】匿名函数与闭包

2024-04-26 23:59:29 934

原创 【Go】关闭通道 用例展示

在 Go 语言中,close函数用于关闭一个通道,表明没有更多的数据将被发送到这个通道。这是一个重要的操作,因为它可以帮助接收方理解发送方何时停止发送数据,从而可以安全地停止从通道接收更多数据。关闭通道后,通道中已存在的数据仍然可以被接收,但不能再向该通道发送数据。

2024-04-26 01:02:48 850

原创 【Go】通道作为函数参数

Go 语言中,通道(channel)是实现协程(goroutine)之间的通信的重要工具。通道可以安全地在多个协程之间传输数据。将通道作为函数参数传递是一种常见的模式,它可以帮助设计清晰且模块化的并发程序。下面我将详细介绍几个实例来展示这一概念。 这段代码定义了主函数,首先通过 创建了两个缓冲通道 和 ,它们的类型都是可以传递字符串的通道。缓冲大小为1,意味着通道可以在阻塞之前存储一个元素。 函数接收两个参数:一个只能发送数据的通道 和一个字符串 。函数的作用是将 发送到 通道

2024-04-23 00:30:09 1127

原创 Windows COM技术:COM介绍、代码演示。

件对象模型(COM)是一个由微软开发的软件架构,旨在促进不同软件组件之间的二进制交互。COM定义了一种方法,使得在各种编程语言中编写的组件可以相互通信,不仅在同一个程序内部,而且可以在不同的计算机上。以下是对COM基础知识的更详尽的解释:

2024-04-21 03:21:54 1112

原创 【Go】通道:缓冲通道和非缓冲通道

非缓冲通道是Go语言中一种实现goroutine间同步通信的强大机制。通过确保每个发送操作都必须有一个对应的接收操作同时准备好,非缓冲通道可以精确控制数据的即时传递和goroutine的执行顺序。这种通道不仅是数据传输的渠道,也是协调并发操作的关键工具。通过非缓冲通道,Go程序能够以直接且同步的方式处理并发任务,从而保持高效和可靠的执行流程。简而言之,非缓冲通道是Go并发编程中不可或缺的同步神器缓冲通道在Go语言中是一种允许在没有接收方准备好时进行数据传输的通信机制。

2024-04-16 00:25:19 717

原创 【Go】 编码解码基础,encoding标准库:base64、binrary、json、xml、gob、hex、pem、csv

在 Go 语言中,通过encodingASN.1:适用于处理复杂的数据结构,常用于安全和网络协议中。Base64:用于在文本中表示二进制数据,广泛用于数据编解码。Binary:直接以二进制形式读写固定大小的数据,用于低层数据操作。JSON:处理现代网络通信中普遍使用的数据格式,易于数据交换。XML:用于标记化的数据表示,常见于配置文件和网络服务。CSV:用于读写简单的表格数据,广泛应用于数据导入导出。GOB:Go 特有的二进制格式,优化了同语言间的数据结构传输。HEX。

2024-04-16 00:10:17 896

原创 【Go】原子并发操作

Go语言中,原子并发操作是非常常用的,确保协程环境中对资源的共访是安全的。Go的包提供了一系列底层的原子性操作函数,允许你在基本数据类型上执行无锁的线程安全操作。使用原子操作可以避免在并发访问时使用互斥锁(mutexes),从而在某些情况下提高性能。

2024-04-15 22:07:07 825

原创 【Go语言】go语言简单的变量声明和结构体使用

go基础

2024-04-12 00:32:14 1057

原创 windows C++ 进程遍历、线程遍历模板。后附模板代码

进程遍历是windows软件必备需求,从安装到软件运行再到卸载我们或许都需要知道其他进程的信息。

2024-04-02 23:52:43 1324

原创 银河麒麟安装回退至GCC5.4.0 添加镜像源地址并设置其优先级。问题已解决

问题:因为软件依赖低版本的gcc,而新版银河麒麟gcc默认时高版本,考虑到软件适配应该考虑最低版本的麒麟系统,需要将gcc降级。过程中遇到问题,无法直接找到gcc5.4.0。

2024-03-30 16:39:21 485

原创 Windows C++:控制新进程的创建方式

///这些宏定义(值)是用于Windows操作系统中函数的标志,它们控制新进程的创建方式。(0x00000001):指示新进程被创建为调试进程,调用进程成为调试器。(0x00000002):仅调试创建的进程,不调试子进程。(0x00000004):新进程被创建后初始处于挂起状态,直到被调用。(0x00000008):新进程没有绑定到父进程的控制台上。(0x00000010):为新进程创建一个新的控制台窗口。(0x00000020):指定进程具有正常优先级。

2024-03-04 23:31:42 964

原创 Windows C++ SecurityImpersonation级别:线程临时采用另一个用户(客户端)的身份进行操作的能力

是 Windows 操作系统中安全模型的一个级别,用于描述一个线程临时采用另一个用户(客户端)的身份进行操作的能力。级别模拟时,服务或进程可以执行文件操作、访问数据库等,就像是在操作用户自己的数据一样,但不具备更高权限的操作能力。这些API使得在需要的时候可以切换到另一个用户的身份,完成特定任务后再恢复到原来的身份,从而保持了操作的安全性和有效性。:最高的模拟级别,允许服务器以客户端的身份在任何机器上执行操作。这个例子展示了用户模拟的基本模式,但在实际应用中,根据具体需求,可能还需要进一步的调整和完善。

2024-03-04 23:21:37 409

原创 Windows C++:深入理解Windows API:用户身份验证、访问令牌获取和权限管理

是 Windows API 中的一个函数,它允许程序以另一个用户的身份创建一个新进程。这通常用于服务或进程需要以不同于启动该服务或进程的用户的权限执行任务时。使用可以实现高级的权限管理和安全性,特别是在需要精细控制进程权限的情况下。验证用户身份:使用LogonUser函数验证远程用户的凭证。获取用户令牌:验证成功后,LogonUser会返回一个令牌,该令牌代表了用户的身份。创建新进程:使用函数以获取的用户令牌创建新进程,该进程将以指定用户的身份运行。// 用户凭证。

2024-03-04 23:13:03 1191

原创 问题解决:各版本的vc_redist下载地址 缺少msvcr100.dll、msvcr120.dll、msvcr140.dll

Visual C++ Redistributable for Visual Studio各版本的官方链接

2024-03-04 22:51:38 1083

原创 C++面试 -云原生-架构能力:云原生简单介绍

云原生(Cloud Native)是一种构建和运行应用程序的方法,旨在充分利用云计算框架的弹性、可扩展性和敏捷性。它侧重于如何最大化在云环境中的效能,而不仅仅是将传统应用迁移到云上。云原生技术允许开发者构建和部署应用程序的方式,能够在公有云、私有云和混合云等多种环境中灵活运行。

2024-02-29 00:34:18 1844 1

原创 C++面试 -分布式架构-架构能力:剩余内容

分布式Trace允许开发者追踪一个请求通过系统中各个微服务的完整路径,帮助定位延迟的根源和潜在的性能瓶颈。负载均衡是分布式系统中分配网络或应用程序流量的技术,通过将入站流量平均分配到多个服务器上,它可以提高网站、应用程序和数据库的可用性和性能。负载均衡器可以基于不同的策略(如轮询、最少连接数、源IP哈希等)来分配请求,从而避免任何单一点的过载,确保系统的高可用性和伸缩性。:API网关是面向微服务架构的入口点,它负责请求路由、组合和协议转换,以提供更加优化的客户端到各个微服务的通信。

2024-02-29 00:13:20 475

原创 C++面试 -分布式架构-架构能力:主流rpc框架

微服务架构中,RPC(Remote Procedure Call)框架扮演着至关重要的角色,它允许服务间进行高效、轻量级的通信。在面试中,了解一些主流的微服务RPC框架可以帮助你更好地展示你的技术背景和项目经验。面试时,除了简单介绍这些框架外,如果你有实际使用这些框架的经验,那么讨论你在项目中如何使用它们,以及使用中遇到的挑战和解决方案会更加有帮助。此外,对于每个框架的选择和性能优化也是面试中可能探讨的主题。

2024-02-29 00:08:03 635

原创 C++面试 -分布式架构-架构能力:一致性算法

一致性算法在分布式系统中扮演着至关重要的角色,主要用于确保系统中的多个副本之间能够达到一致的状态。在分布式计算环境中,由于网络延迟、分区、节点故障等问题,维持数据的一致性是一个挑战。一致性算法能够帮助系统在面对这些挑战时,确保数据的准确性和可靠性。

2024-02-29 00:05:28 457

原创 C++面试 -分布式架构-架构能力:分布式事务的学习

分布式事务是分布式系统中保证数据一致性和完整性的一种机制。在多个独立的数据库或服务中进行操作时,分布式事务确保所有操作要么全部成功,要么全部失败。这对于构建可靠的分布式应用至关重要。在面试中,理解分布式事务的基本概念、类型、实现方式和挑战是非常重要的。下面详细介绍分布式事务的关键点。

2024-02-29 00:01:28 1234

原创 C++面试 -分布式架构-架构能力:rpc服务寻址

RPC服务寻址是分布式系统中确保服务可发现性和可连接性的基石,它使得客户端能够透明地定位和调用网络上的远程服务。通过服务注册、服务发现和负载均衡三个核心步骤,RPC服务寻址桥接了服务提供者和消费者之间的通信,实现了服务的动态管理和高效调用。关键挑战在于实时更新服务状态以应对服务实例的动态变化、优化服务发现过程以降低延迟、提升通信安全性以防止数据泄露和未授权访问,以及实现跨多环境的服务管理。应对这些挑战的策略包括实施健康检查、租约机制、安全通信协议、以及环境敏感的配置管理。

2024-02-27 00:15:55 1147 1

原创 C++ 面试 -分布式架构-架构能力:简单rpc协议设计和框架搭建

RPC协议定义了客户端和服务器之间交换消息的格式。请求ID:唯一标识每个请求,用于匹配请求和响应。方法名:客户端想要远程调用的方法或函数名称。参数列表:调用远程方法时需要的参数。RPC(远程过程调用)协议是一种允许程序代码像调用本地过程一样直接调用在远程计算机上的过程的协议。它抽象了底层网络通信的复杂性,让开发者可以专注于业务逻辑的实现。RPC协议的核心组成部分通常包括请求ID、方法名和参数列表。序列化和反序列化是数据交换和持久化的关键技术。

2024-02-26 23:56:23 1448 2

原创 C++面试 -操作系统-架构能力:系统网络性能评估与优化

系统网络性能评估与优化是指对计算机系统中的网络部分进行评估分析,并采取一系列措施来提升网络性能的能力。在面试中,涉及这一主题的问题可能会围绕以下几个方面展开。在C++面试中,可能会涉及到网络性能优化相关的技术或者数据结构的选择。总之,系统网络性能评估与优化涉及到多个方面的知识,包括网络原理、操作系统、编程语言等,需要综合考虑各种因素来进行系统性能的优化和改进。

2024-02-25 14:21:58 554

原创 C++面试 -操作系统-架构能力:磁盘 I/O 性能优化

因此,不需要通过系统调用来读取或写入文件,也不需要进行额外的数据拷贝操作,从而减少了系统调用和数据拷贝的开销,提高了读写的效率。在写入和读取数据时,对齐的数据结构可以直接以连续的块进行写入和读取,而无需进行额外的填充或者调整,从而减少了磁盘 I/O 操作的次数,提高性能。将多次小的磁盘 I/O 操作合并为少数几次大的操作可以降低系统调用的开销,提高性能。:对齐的数据结构可以保证数据的完整性,避免了因为内存对齐问题而导致的数据损坏或者不完整的情况。不同的文件系统对磁盘 I/O 的性能有不同的影响。

2024-02-25 13:58:27 1121 1

VNC Viewer windows端远程工具

直接能使用的VNC Viewer。 介绍:VNC Viewer是一款远程桌面软件,它允许用户在不同的计算机或设备之间进行远程连接和控制。VNC代表“Virtual Network Computing”(虚拟网络计算),是一种远程桌面协议,它可以让用户通过网络远程控制另一台计算机。 使用VNC Viewer,用户可以在任何地方远程控制其他计算机。例如,您可以使用VNC Viewer从家里的电脑连接到您在办公室的计算机,或者从笔记本电脑连接到您的台式机。 VNC Viewer有多种不同的版本,可以在多个平台上使用,包括Windows、Mac、Linux、iOS和Android。该软件非常易于使用,只需要输入要连接的计算机的IP地址和端口号即可。此外,它还提供了多种安全选项,以确保远程连接是安全的。 总之,VNC Viewer是一款非常实用的远程控制工具,适用于个人和商业用途。

2023-02-16

windows子进程获取父进程id,并获得父进程生死状态

windows子进程获取父进程ID 具体参考:https://blog.csdn.net/weixin_44120785/article/details/127569712?spm=1001.2014.3001.5502

2022-10-28

空空如也

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

TA关注的人

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