自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(271)
  • 资源 (19)
  • 收藏
  • 关注

原创 【三体】deepseek 对程心做的三次决定的评价

程心是小说中最具争议性的角色之一,她的选择往往出于善良和人性的本意,却在宇宙尺度的残酷现实中带来了灾难性的后果,深刻体现了刘慈欣对“圣母式”道德在黑暗森林法则下脆弱性的思考。

2025-06-11 11:31:41 792

原创 【三方库研读】facebook/folly中File类原理与作用深度解析

作为 C++ 文件描述符的 RAII 封装类,folly::File 提供了安全高效的文件资源管理。以下是核心原理分析

2025-06-09 20:22:17 783

原创 【基础知识】环形缓冲区(Circular Buffer)原理深度解析

环形缓冲区是一种高效的数据结构,特别适用于生产者-消费者模型和实时数据流处理。其核心原理是通过循环复用固定内存空间实现高效读写,避免频繁内存分配

2025-06-09 15:50:31 761

原创 【优秀三方库研读】quill 开源库中的命名空间为什么要用宏封装

解决核心问题:命名空间嵌套与版本控制

2025-06-04 20:57:39 449

原创 【C++基础知识】深入解析 C++ `decltype` 关键字

decltype 是 C++11 引入的关键特性,用于在编译时推导表达式的类型。它提供了强大的类型推导能力,是现代 C++ 模板元编程和泛型编程的核心工具之一

2025-05-29 11:30:06 673

原创 【C++基础知识】RAII的一个简单示例讲解

这个表达式是 C++ 中利用 RAII(Resource Acquisition Is Initialization)原则管理 C 风格文件资源的经典范例

2025-05-29 11:20:35 918

原创 【C++基础知识】匿名命名空间

在C++中,匿名命名空间(Anonymous Namespace) 是一种特殊的命名空间机制,用于将实体(变量、函数、类等)的作用域限制在当前翻译单元(即单个源文件)内,实现类似static的"内部链接"效果,但更符合C++的现代风格

2025-05-28 19:55:51 635

原创 【C++基础知识】【ASAN】

AddressSanitizer(ASan)是 Google 开发的动态内存错误检测工具,通过编译时插桩和运行时库来捕获多种内存问题。以下是它能检测的主要问题类型及详细说明

2025-05-28 15:08:21 365

原创 【C++基础知识】【ASAN】heap-use-after-free 错误报告完整解读

影子内存是 ASan 的核心机制,通过内存状态标记实现高效检测标记值直接反映内存状态(如 fd 表示释放后的内存,fa 表示堆左红区)结合错误报告中的内存地址和影子字节,可精准定位问题类型和代码位置

2025-05-28 14:42:13 1017

原创 【优秀三方库研读】在 quill 开源库 Backend.h 知识点

【代码】【优秀三方库研读】在 quill 开源库 Backend.h 知识点。

2025-05-21 17:52:58 644

原创 【优秀三方库研读】在 quill 开源库 LogMarcos.h 中知识点汇总及讲解

编译时日志级别过滤预处理宏与条件编译可变参数处理技巧格式化字符串生成日志宏的分发机制线程本地存储(TLS)零成本抽象设计动态日志级别支持结构化日志标签日志频率限制机制

2025-05-21 15:48:16 1070

原创 【优秀三方库研读】在 quill 开源库中 try、throw、catch 相关代码解析

这段代码定义了用于错误处理和异常管理的宏,旨在提供灵活的错误处理机制,支持启用或禁用C++异常的环境。以下是对代码各部分作用的详细说明及设计原因的分析

2025-05-21 11:05:58 675

原创 【优秀三方库研读】在 quill 开源库中为什么封装 safe_fwrite,而不是直接使用系统 fwrite

在 Quill 日志库中,safe_fwrite 函数的封装是为了解决直接使用系统 fwrite 时可能存在的 可靠性 和 错误处理 问题,同时兼顾性能优化

2025-05-20 20:52:08 875

原创 【优秀三方库研读】在 quill 开源库中定义的 QUILL_LIKELY 和 QUILL_UNLIKELY 这两个宏的作用是什么

`QUILL_LIKELY` 和 `QUILL_UNLIKELY` 两个宏,主要用于 **优化条件分支预测**,从而提升程序性能,尤其是在高频调用的代码路径中(如日志库的核心逻辑)

2025-05-20 19:55:32 630

原创 【优秀三方库研读】在 quill 开源库中 QUILL_MAGIC_SEPARATOR 的作用是什么,解决了什么问题

在 Quill 开源库中,#define QUILL_MAGIC_SEPARATOR "\x01\x02\x03" 的作用是 为日志消息的字段或条目提供唯一且可靠的分隔标记

2025-05-20 17:43:48 415

原创 【优秀三方库研读】【性能优化点滴】odygrd/quill 解决伪共享

在代码中添加 `alignas(QUILL_CACHE_LINE_ALIGNED)` 是为了解决 **伪共享(False Sharing)** 这一多线程编程中的关键性能问题。下面我将详细解释其原理和作用:

2025-04-28 20:34:36 663

原创 【转载】Root Pixel 6 and Pixel 6 Pro with Magisk

原文地址:https://wccftech.com/how-to/how-to-root-pixel-6-and-pixel-6-pro-with-magisk/

2025-04-25 15:13:03 350

原创 【C++基础知识】C++ 模板元编程(Template Metaprogramming, TMP)技术详解

模板元编程技术随着 C++ 标准的演进不断发展,以下是各技术及其引入版本的详细说明

2025-04-25 11:50:22 768

原创 【C++基础知识】折叠表达式详解--结合上一篇

折叠表达式(Fold Expressions)是 C++17 引入的一种模板元编程技术,用于**简化可变参数模板(variadic templates)的参数包展开**。它允许以简洁的方式对参数包(parameter pack)中的所有元素进行**递归式操作**,如求和、逻辑运算、函数调用等

2025-04-25 11:29:53 503

原创 【优秀三方库研读】【C++基础知识】odygrd/quill -- 折叠表达式

按顺序计算每个参数的编码大小。确保的更新顺序与参数顺序一致。以最高效的方式累加结果。通过逗号折叠表达式,既保证了求值顺序,又实现了简洁高效的代码。

2025-04-24 21:07:10 1011

原创 【C++基础知识】C++类型特征组合:`disjunction_v` 和 `conjunction_v` 深度解析

这两个模板是C++17引入的类型特征组合工具,用于构建更复杂的类型判断逻辑

2025-04-24 20:49:58 713

原创 【C++基础知识】namespace前加 inline

在C++中,`inline namespace`(内联命名空间)是一种特殊的命名空间声明方式,**`inline`关键字在这里的含义是让该命名空间的内容在其外层命名空间中“直接可见”**,从而简化代码的版本管理和符号查找规则

2025-04-24 19:56:33 564

原创 【C++基础知识】C++中的explicit与implicit详解

在C++中,`explicit`和`implicit`关键字控制着类型转换的行为方式,它们直接影响着代码的安全性和灵活性。下面我将全面解析这两个关键概念

2025-04-24 10:37:35 487

原创 【C++基础知识】C++中的构造函数详解

构造函数是C++中用于初始化对象的特殊成员函数。下面我将详细介绍各类构造函数及其触发时机

2025-04-22 22:06:26 633

原创 【C++基础知识】拷贝构造函数和拷贝赋值运算符

拷贝构造函数VS拷贝赋值运算符

2025-04-22 22:05:29 919

原创 【C++基础知识】最通俗的方式来解释指针和地址中的 `*` 和 `&

最通俗的方式来解释指针和地址中的 `*` 和 `&

2025-04-21 17:43:13 745

原创 【性能优化点滴】odygrd/quill constexpr 相关使用续

`constexpr` 是 C++11 引入的关键特性,用于在编译期执行计算和初始化。在 Quill 的 `MacroMetadata` 类中,`_calc_file_name_pos` 和 `_calc_colon_separator_pos` 方法被声明为 `constexpr` 具有重要作用

2025-04-17 20:55:37 401

原创 【C++面试八股】基础篇--3、C++ static关键字完全解析:从语法到实现原理的面试宝典

static关键字在C++中具有双重生命周期控制特性:持久性:超出作用域依然存在限定性:将可见性限制在特定范围内

2025-04-17 20:31:31 1014

原创 【C++面试八股】基础篇--2、C++ const关键字完全指南:从基础到高阶面试宝典

const是C++中的类型修饰符,用于声明"常量",即一旦初始化后值不可改变的量。编译器会对const变量进行检查,阻止任何修改操作

2025-04-16 13:58:04 646

原创 【C++面试八股】基础篇--1、C++内存模型

C++内存模型是理解程序如何与计算机内存交互的核心概念。它定义了数据如何存储、访问以及不同部分之间的交互规则

2025-04-15 20:54:46 893

原创 【优秀三方库研读】【C++基础知识】odygrd/quill -- 从 ThreadContextManager 深度解析 Meyer’s Singleton(梅耶单例)模式

Meyer's Singleton 是 C++ 中最优雅、最安全的单例实现方式之一,由 C++ 大师 Scott Meyers 在《Effective C++》中提出。下面从原理到实现进行全面剖析

2025-04-15 17:31:35 1028

原创 【优秀三方库研读】odygrd/quill -- ThreadContext 类深度解析

ThreadContext 是 Quill 日志库中用于管理单个线程日志上下文的核心类,它封装了线程特定的日志资源和状态

2025-04-15 17:19:02 773

原创 《深入探索C++对象模型》指针赋值时的隐式偏移详解

在C++多重继承中,当派生类指针(或对象)被转换为非主基类(非第一个基类)的指针时,编译器会自动调整指针的地址,使其指向目标基类子对象在内存中的实际位置。这一过程称为隐式偏移调整

2025-04-11 16:22:46 627

原创 《深入探索C++对象模型》中“多重继承下的 Virtual Functions”小节“第二种情况“解释的延伸问题

《深入探索C++对象模型》中“多重继承下的 Virtual Functions”小节“第二种情况“解释的延伸问题

2025-04-11 16:11:31 964

原创 《深入探索C++对象模型》中“多重继承下的 Virtual Functions”小节“第二种情况“的详细解释--P166

通过一个 “指向 derived class” 的指针,调用第二个 base class 中一个继承而来的 virtual function

2025-04-11 15:22:52 757

原创 《深入探索C++对象模型》中的“4.5 inline Functions”知识点总结与扩展分析

《深入探索C++对象模型》中的“4.5 inline Functions”章节深入探讨了内联函数在C++底层对象模型中的实现机制、性能影响以及与编译器优化的交互。以下是对该章节的知识点总结和扩展分析,结合现代C++特性与编译器技术

2025-04-10 22:14:48 725

原创 【C++基础知识】将函数标记为 inline 一定就会内联吗?

在C++中,将函数标记为 inline 不保证函数一定会被内联。inline 关键字仅向编译器提供一个“建议”,最终的决策权在编译器自身。是否内联取决于编译器的优化策略、函数复杂度、调用上下文等因素

2025-04-10 22:02:50 1012

原创 【优秀三方库研读】【扩展】odygrd/quill --基于文件锁的 BackendWorkerLock 实现(仅支持 Unix/Linux 系统)

基于文件锁的 BackendWorkerLock 实现(仅支持 Unix/Linux 系统)

2025-04-10 17:52:50 603

原创 【优秀三方库研读】odygrd/quill -- BackendWorkerLock 类中 sem_xxx 作用以及为什么要用TA

在 Quill 的 BackendWorkerLock 类中,sem_xxx 系列函数(如 sem_open、sem_trywait、sem_unlink)主要用于 确保单进程内的唯一性,防止多模块静态链接导致的重复实例问题

2025-04-10 17:05:41 826

原创 【AI】RAG数据要求

要让 RAG(Retrieval-Augmented Generation)系统更高效、准确地学习和生成结果,灌入的数据需要满足以下要求

2025-04-10 16:44:01 800

创建一个多边形Active控件

一、 课程设计目的 1、 了解Windows编程的基础知识,掌握控件的基础知识。 2、 控件是对数据和方法的封装,通过课程设计了解控件的应用及创建. 3、 掌握VC++开发应用程序的一般步骤和方法。 4、 通过课程设计,实际掌握面对对象的程序设计方法,了解C++面向对象的设计方法和技巧,有效地、深刻地理解课程设计内容,体会理论、方法和设计的原则;培养分析实际问题和解决问题的能力,具备使用面向对象程序设计开发工具设计实际系统的能力 二、 课程设计内容与要求 创建一个多边形ActiveX控件(并设计一个使用该控件的应用程序)。 实现了一个ActiveX控件,它在一个圆内部有个正多边形,当用户在多变形内部单击将会使多边形的边数在当前的基础上+1,在多变形外部单击将会使多边形的边数在当前的基础上-1,并能改变多边形的颜色,还可以输入边数来改变多边形的边数,并编辑了一个程序,是控件可以在应用程序中使用。 三、 系统分析与设计 1、系统分析 Active控件是由 Microsoft 基础类库 (MFC) 提供的其他控件类(以前称为 OLE 控件),可以在 Windows 应用程序的对话框中使用,或在万维网的 HTML 页中使用,本次创建的Active控件主要是在其上显示一个圆其内部有多边形,并通过一系列操作更改其边数和颜色。 为控件添加属性并为应用此控件添加方法,使其觉有相对的稳定性,便于移植。 (1)信息:计算并记录鼠标输入的坐标,判断其属于圆内还是圆外,并做出相应的动作,更改多边形的边数及颜色。 (2)行为:当用户在多变形内部单击将会使多边形的边数在当前的基础上+1,在多变形外部单击将会使多边形的边数在当前的基础上-1,并能改变多边形的颜色 (3)表示: IPolyCtl是包含定制的方法和属性的接口,_IPolyCtlEvents接口是一个内部接口,建立各变量与接口之间的连接。

2012-12-10

NIIT课堂笔记

如果需要修改表结构,一定要保证表里面是没有数据的 alter table stu add sage int not null ALTER TABLE 相关的语句: 1. 添加新列 ALTER TABLE Test ADD stu VARCHAR(20) NULL ;--向表名为Test的表中,添加列名为stu数据类型为varchar每一行都为空的列 --此处添加的时候没有column,因为向表中添加一般默认就是列了,故而不用声明是添加列 2. 删除列 ALTER TABLE Test DROP COLUMN stu ;--删除表名为Test的表中,列名为stu的列 3. 更改列的数据类型 ALTER TABLE stu ALTER COLUMN ID int ;--修改表stu中,列名为ID的列的类型为int column字段名,也就是列名 alter 修改,改变

2012-12-11

经典SQL语句大全

经典SQL语句大全

2012-12-16

Visio详尽教程

Visio详尽教程

2013-02-20

动态链接库运算器

一、 课程设计目的 学会用C++语言和数据结构知识实现表达式的解析与计算;学会使用动态链接库技术进行编程;学会编辑、编译、运行MFC应用程序的基本过程.学会MFC可视化编程技术。 二、 课程设计内容与实现的功能 1.C++语言的顺序结构,分支结构,循环结构,函数,结构体,指针,MFC可视化编程技术。 2.数据结构中的二叉树数据组织、存贮、后序遍历及其操作。 3. 使用动态链接库进行函数模块的设计,实现计算功能。 4.编程中使用了动态连接库技术; 能实现表达式的输入,解析与计算 三、 系统分析与设计 1、系统分析 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0在VC in目录下提供了一个名为Dumpbin.exe的小程序,用它可以查看DLL文件中的函数结构。另外,Windows系统将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录,2.进程的当前工作目录, 3.Windows系统目录, 4.Windows目录,5.列在Path环境变量中的一系列目录。 1.隐式链接 隐式链接就是在程序开始执行时就将DLL文件加载到应用程序当中。实现隐式链接很容易,只要将导入函数关键字_declspec(dllimport)函数名等写到应用程序相应的头文件中就可以了 2.显式链接 显式链接是应用程序在执行过程中随时可以加载DLL文件,也可以随时卸载DLL文件,这是隐式链接所无法作到的,所以显式链接具有更好的灵活性,对于解释性语言更为合适。不过实现显式链接要麻烦一些。在应用程序中用 LoadLibrary或MFC提供的AfxLoadLibrary显式的将自己所做的动态链接库调进来,动态链接库的文件名即是上述两个函数的参数,此后再用GetProcAddress()获取想要引入的函数。自此,你就可以象使用如同在应用程序自定义的函数一样来调用此引入函数了。在应用程序退出之前,应该用FreeLibrary或MFC提供的AfxFreeLibrary释放动态链接库。 2、系统设计: 按照系统设计要求,用Visual C++设计和开发一个MFC应用程序---高级计算器。计算器的界面设计、计算功能实现、算式计算和动态链接库的使用等。提交由需求分析:系统设计说明、系统技术文档、系统使用说明书和源程序代码为附录构成的实验报告。 2.1、模块设计: 1. 计算器界面 计算器界面包括主题“高级计算器”和背景图片以及电子日历。在计算区上有显示文本框和数字按钮以及运算符按钮。在计算区上部分有运算模式选择模块和小提示语句。 2. 模块功能简介 系统分为多个模块,分别为计算模块、错误分析模块、界面显示模块和模式选择模块。其中计算模块用来进行各种基本的加、减、乘、除的运算并且显示运算结果;错误分析模块用来进行错误处理;界面显示模块用来美化计算器界面;模式选择模块用来进行运算模式的选择和切换,以实现不同的运算要求

2012-12-10

sql经典数据库

sql经典数据库直接安装就可以的,打开.sql文件,全选语句,执行,然后保存,就会得到案例数据库了,有northwind和pubs两个

2012-12-23

JAVA编程百例

JAVA编程百例,实际上是99个,全代码还有class文件

2012-12-31

影院管理系统

课程设计,含数据库,由多人开发而成,直接可用

2012-12-31

Javascript特效大全

Javascript特效大全

2012-12-30

BackTrack中文指南

bt5指南,基本工具有wpa破解,wep以及各种分析,bt5各种安装方式,无线配置方式

2012-12-22

phpadmin亲测可用版

phpadmin是用来远程连接MySQL数据库的客户端软件,用户可以使用该软件连接并管理您的数据库。 本版本楼主亲测,修改即可使用

2013-01-25

JAVA核心技术:卷Ⅰ基础知识

JAVA核心技术:卷Ⅰ基础知识(原书第8版)高清中文PDF 目录: 第1章 Java程序设计概述  1.1 Java程序设计平台  1.2 Java“白皮书”的关键术语   1.2.1 简单性   1.2.2 面向对象   1.2.3 网络技能   1.2.5 安全性   1.2.6 体系结构中立   1.2.7 可移植性   1.2.8 解释型   1.2.9 高性能   1.2.10 多线程   1.2.11 动态性  1.3 Java Appletc与Internet  1.4 Java发展简史  1.5 关于Java的常见误解 第2章 Java程序设计环境  2.1 安装Java开发工具箱   2.1.1 下载JDK   2.1.2 设置执行路径   2.1.3 安装源代码库和文档   2.1.4 安装本书中的示例   2.1.5 导航Java目录  2.2 选择开发环境  2.3 使用命令行工具  2.4 使用集成开发环境  2.5 运行图形化应用程序  2.6 建立并运行appletc 第3章 Java基本的程序设计结构  3.1 一个简单的Java应用程序  3.2 注释  3.3 数据类型   3.3.1 整型   3.3.2 浮点类型   3.3.3 char类型   3.3.4 boolean类型

2013-01-21

Hibernate3.2 API(中文版)

Hibernate3.2 API(中文版)

2012-12-31

api帮助文档

api帮助文档 [api帮助文档].J2EE_API.chm

2012-12-31

DHTML 手册

DHTML 手册

2012-12-31

Annotated Solution Guide

Annotated Solution Guide

2012-12-31

vmware汉化程序

vmware汉化程序VMware_Workstation_full-8.0.0-471780.exe,执行程序即可,不用移动汉化包

2012-12-23

空空如也

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

TA关注的人

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