自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fpcc的专栏

于细微处见精神,从宏观里学态度。行之苟有恒,久久自芬芳。

  • 博客(1086)
  • 资源 (21)
  • 问答 (1)
  • 收藏
  • 关注

原创 数据结构和算法—位图

位图算法是一种利用位操作高效处理海量数据的数据结构与算法。它将数据映射到位数组上,通过位操作实现快速查询、统计和集合运算。相比传统方法,位图能大幅节省存储空间(32位整数仅需1位存储)并提升操作效率。其典型应用包括海量数据去重(如用户存在性判断)、集合运算(交集/并集)、用户画像管理、数据库存储状态跟踪及权限系统设计等。C++标准库提供std::bitset实现小规模位图操作,但不适合海量场景。位图算法在密集数据场景优势显著,但不适合稀疏数据或存储复杂属性信息。示例代码展示了如何用位图实现海量数据检索以及s

2026-07-31 08:27:52 39

原创 C++编程实践—跨机器的运行

本文通过一个程序运行报错案例,分析了Linux环境下动态库依赖问题的多种可能原因。作者从基础问题(库不存在、版本不同、路径错误)延伸到更深层次原因(平台架构差异、链接器问题、编译器选项等),并通过ldd工具进行问题定位。文章进一步对比了编译期和运行期依赖库的本质区别,包括依赖内容、版本管理、路径处理等方面的差异。最后提出两种解决方案:完全克隆环境和容器化部署。本文强调开发者应深入探究技术问题背后的原理体系,通过具体案例培养系统性技术思维。

2026-07-30 10:19:57 395

原创 C++编程实践—类的私有化设计

本文探讨了C++中类的私有化管理技巧,主要包括两种实现方式:通过私有化构造函数或final关键字限制继承(实现控制),以及通过内部类或Pimpl模式隐藏设计细节(设计控制)。文章列举了五类典型应用场景:安全验证类、接口稳定性维护、专用基础类、析构保护及性能优化,并提供了私有化构造函数和CRTP模板检查的代码示例。作者指出这些技术虽小却体现了C++的封装思想,能有效维护代码边界,建议开发者在实际项目中灵活运用。(149字)

2026-07-29 10:32:30 162 2

原创 ubuntu26安装CUDA13.2~13.3

这篇文章详细记录了在Ubuntu 26.04系统中安装CUDA开发环境的过程。主要内容包括: 环境准备:安装基础编译工具(g++、build-essential等); CUDA安装尝试: 通过apt安装CUDA Toolkit(可能版本不符); 官网下载CUDA 13.3安装包,因驱动版本冲突失败; 驱动问题解决: 卸载旧驱动后重装适配版本(nvidia-driver-595/580); 处理Secure Boot冲突(禁用BIOS设置); 使用ubuntu-drivers自动安装兼容驱动; 成功安装CUD

2026-07-28 12:39:18 189 2

原创 ubuntu26.04安装

摘要: 本文详细记录了在Ubuntu 26.04系统中安装NVIDIA驱动及CUDA框架的过程与问题总结。作者选择Ubuntu 26.04因其对NVIDIA GPU的良好支持,并介绍了启动盘制作、安装步骤及常见问题,如显卡驱动冲突、U盘接口兼容性、无线网卡安装、中文界面设置等。重点分析了安装卡顿、双屏显示异常及文件拷贝失败的解决方案,强调需结合实际硬件调整BIOS设置(如独立显卡优先)和安装方式(最小化安装或多试几次)。最后建议摒弃经验主义,注重细节排查以适应快速更新的软硬件环境。

2026-07-27 13:26:37 162 1

原创 AI和大模型——多头注意力

本文探讨了多头注意力机制与单头注意力机制的关系及其底层原理。单头注意力机制在处理单一任务时具有优势,但面对复杂现实问题时存在局限性。多头注意力通过将高维任务拆解为多个低秩子任务(如Transformer采用的8×64分块),实现了并行处理不同语义空间信息的能力,既提高了模型表现力,又通过低秩正则化减少了冗余参数。其数学原理包含线性投影、缩放点积注意力和拼接再投影三个关键步骤。这种设计体现了深度学习中的"分治"思想,在模型复杂度与计算效率间取得了平衡,使Transformer能够更全面地捕捉数据关联性,同时避

2026-07-26 08:11:11 223 1

原创 Linux和Windows的不同

对Linux和Windows操作系统进行整体的全面的对比说明

2026-07-25 09:07:11 237

原创 并行编程实践—cuDNN和TensorRT的应用

本文介绍了NVIDIA两大深度学习加速库cuDNN和TensorRT的特点与应用场景。cuDNN专注于神经网络训练阶段的优化,通过卷积算法优化、算子加速和内存管理提升效率;TensorRT则针对推理部署,提供算子融合、精度管理和自动调优等功能,显著降低延迟。二者可协同使用实现全流程加速,但需注意模型格式兼容与精度平衡。文章还提供了cuDNN的PyTorch示例代码,并强调开发者应灵活组合工具以发挥最大效能。这些加速库能有效提升CUDA在特定场景下的性能表现。

2026-07-24 09:40:57 213 1

原创 数据结构和算法—拓扑的应用

本文首先介绍了拓扑学的基本概念及其分支,包括拓扑空间、连续变形和拓扑不变量等核心内容。随后探讨了拓扑学在计算机领域的广泛应用,如机器人运动规划、AI、图形学、数据分析和网络系统等。重点讲解了拓扑排序的概念及其在有向无环图中的应用,分析了两大实现算法(Kahn算法和DFS算法)及其时间复杂度。文章还给出了Kahn算法的C++实现示例,并列举了拓扑排序在任务调度、编译器构建等场景的应用。最后指出,尽管拓扑学在计算机领域有重要应用,但对大多数开发者而言只需简单了解即可。全文为读者提供了拓扑学及其计算机应用的基础认

2026-07-23 10:34:19 413 1

原创 AI和大模型——对称矩阵

本文介绍了对称矩阵的定义、性质及其在AI与大模型中的应用。对称矩阵满足转置等于自身(A=A^T),具有存储高效、特征值为实数、可正交对角化等特性。其应用包括无向图表示、距离计算及二次型处理等。在AI领域,对称矩阵优化了Transformer的自注意力机制、模型微调策略(如LoRA)及训练效率,同时增强模型可解释性。文末提供了C++实现对称矩阵存储的示例,强调数学理论结合实际应用的价值,指出对称矩阵是大模型技术的重要数学基础。

2026-07-22 11:06:07 179

原创 跟我学C++中级篇—空类标签

C++中的空类虽不包含数据成员,但在编译期发挥着重要作用。文章分析了空类标签(如迭代器标签)的多种应用场景:1)作为类型标签实现编译期分发和模板特化;2)用于函数重载区分;3)作为零成本占位符;4)表达特定语义(如std::nullopt_t)。通过STL迭代器分类的代码示例,展示了空类标签如何根据迭代器类型选择不同算法实现。空类如同数学中的零,虽"空"却承载着关键的类型系统功能,体现了"空而非无"的编程哲学。

2026-07-21 11:56:44 379

原创 数据结构和算法—常见的底层查找算法

文章摘要: 本文系统介绍了搜索与查找算法的分类、原理及应用场景。首先指出数据量级对算法效率的影响,随后将算法分为暴力遍历和自适应搜索两大类,并按数据类型细分为数据查找、图查找和字符串查找。重点分析了顺序查找、二分查找、哈希查找、树查找、DFS/BFS、KMP和A*等算法的时空复杂度及适用条件,强调算法需结合数据特性和场景需求灵活选择。最后通过C++代码示例展示了顺序查找、二分查找和二叉搜索树的实现,并建议工程中可组合多种算法以提升效率。核心观点是:算法选择应基于数据规模、有序性、更新频率及查询目标,通过合理

2026-07-20 11:35:27 761 1

原创 AI和大模型——梯度散度和旋度

本文介绍了标量、向量及其函数的基本概念,以及偏导数、梯度、散度和旋度等数学工具。标量只有大小,向量兼具大小和方向;标量场和向量场分别由标量函数和向量函数描述。梯度(∇f)将标量场转为向量场。散度(∇⋅v)通过点积运算衡量扩散程度,应用于AI的概率分布差异分析;旋度(∇×v)通过叉积运算描述旋转程度,用于非梯度学习等新领域。理解这些数学概念对深入AI技术至关重要。

2026-07-19 07:44:02 203

原创 c++应用网络编程之十六—端口重用

## 五、总结 1. 默认情况下一个端口只能被一个进程监听绑定 2. 通过设置SO_REUSEADDR可以快速重用被释放的端口 3. 通过SO_REUSEPORT可以实现多个进程监听同一端口 4. 端口重用的原理是基于五元组哈希映射确保数据正确投递 5. 内核从轮询改进为哈希算法提升了效率和缓存命中率 6. 业务层应自行处理多进程监听的业务逻辑区分 本文通过分析网络通信的五元组原理,解释了端口重用的技术实现。从内核源码可以看出,Linux通过哈希算法高效管理多进程监听同一端口的情况,解决了传统轮询方式的性能

2026-07-18 09:35:57 214 2

原创 数据结构和算法—数学的应用

本文探讨了数学在计算机科学中的核心地位。文章指出,计算机技术源于数学计算需求,数学的严谨逻辑和抽象思维为计算机发展奠定基础。通过算法、数据结构、计算机视觉、数据库、网络安全、编译技术、操作系统等多个应用场景,分析了线性代数、概率统计、微积分、图论等数学知识的实际运用。特别是在AI和大模型领域,数学工具如矩阵运算、概率论、优化算法等发挥着关键作用。文章强调,数学与计算机科学相互促进:数学提供理论基础,计算机提供计算能力。对于开发者而言,扎实的数学基础不仅能提升编程中的抽象思维能力,更是深入理解计算机技术本质的

2026-07-17 08:56:23 188 1

原创 C++编程实践—异步分析

本文探讨了异步编程在现代软件开发中的重要性及其核心思想。文章指出异步编程的难点不在于实现机制,而在于开发者对异步思想的理解。通过生活实例说明异步是解决并发的关键思想,并提出了引入异步的三个原则:非阻塞性、任务间合作性和可抽象性。文章分析了四种常见异步机制(事件、消息、任务、协程)和四种实现方式(回调函数、promise/future、协程),列举了异步编程的典型应用场景。最后强调异步与同步是互补关系,未来异步编程将更易用但需配套调试工具支持。掌握异步思想并进行实践是学习异步编程的关键。

2026-07-16 11:03:16 164 1

原创 数据结构和算法——常见的压缩算法

这篇文章探讨了数据压缩技术在现代网络中的重要性及其应用。数据压缩分为无损压缩和有损压缩两大类:无损压缩(如哈夫曼编码、LZW、算术编码等)能完整还原原始数据,而有损压缩(如JPEG、MP3、H.264等)通过舍弃部分细节换取更高压缩率。文章分析了各类算法的原理、优缺点及适用场景(如文件、图像、音视频压缩),并指出压缩技术底层依赖数学理论(概率论、线性代数等)。最后强调实际应用中需权衡压缩效率、速度和质量,根据场景(如硬件资源、实时性需求)选择合适的算法,并附上哈夫曼编码的C++实现示例。

2026-07-15 11:02:39 822 3

原创 AI和大模型——扩展模型

本文介绍了AI生成内容(AIGC)的核心技术扩散模型。AIGC主要依靠生成对抗网络、扩散模型和大语言模型等技术实现内容创作。扩散模型通过正向扩散(逐步加噪)和反向去噪(还原数据)的过程生成高质量内容,适用于图像、视频、音频及3D建模等多个领域。虽然扩散模型具有生成质量高、可控性强等优点,但也存在计算成本高、随机性影响等缺点。主流工具包括Hugging Face Diffusers和ComfyUI等。随着AI技术普及,开发者需要深入理解底层技术,为用户提供更便捷的AIGC应用。

2026-07-14 08:38:35 226 1

原创 跟我学C++中级篇—强制类型转换

本文分析了C++中的四种强制类型转换机制:static_cast(基础类型转换、向上转型)、const_cast(CV限定符处理)、dynamic_cast(运行时安全类型检查)和reinterpret_cast(低层危险转换)。通过对比传统C语言强制转换,阐述了C++引入更安全转换机制的必要性,并提供了各类转换的代码示例。文章指出C++类型转换的发展趋势是更安全、更精细化的类型控制,但为保持灵活性仍需兼容多种转换方式,这也是C++复杂性的体现。最后强调没有普适的转换方案,需根据具体场景选择合适方式。

2026-07-13 11:12:55 427

原创 Linux 7.1介绍

Linux 7.1内核发布,作为7.0的功能迭代版本,在AI应用普及背景下快速更新。主要改进包括:删除老旧代码和硬件支持;重写NTFS驱动提升性能;优化Btrfs/exFAT文件系统;升级Intel/AMD/ARM硬件平台支持,增强CPU调度和内存管理;加强安全防护;提升调试工具稳定性。特别针对AI大模型优化了硬件加速、性能调度和开发生态。虽然功能更新显著,但社区提示7.2版本将很快发布,且7.1非LTS版本,建议用户根据需求评估升级。

2026-07-12 07:57:04 195 1

原创 AI和大模型——AI应用发展过程

在前面介绍了很多AI大模型相关的知识点和概念,那么如何正确的理解它们并把它们整合起来从而更容易的理解其在应用中的作用呢?在前面已经对它们进行了横向的说明和分析,下面就对AI大模型的应用纵向发展综合分析一下。通过上面的分析,有过编程经验的会不会发现,它和编程语言如展过程中的单体程序到库到框架、各种数据接口和访问标准、状态机和自动机等有着类似的发展经历。也就是说,不管技术如何进步,技术处理人类问题的思想始终保持着同一个流程,这就明白为什么总是反复强调编程思想重要的原因了吧。

2026-07-11 08:16:32 195

原创 C++编程实践—进程信息管理控

本文探讨了Linux平台下进程和线程的管理机制。进程作为资源分配的最小单元,线程作为运行调度的最小单元,在Linux系统中通过/proc文件系统和内核调度机制实现全面管理。文章详细介绍了进程和线程的监控命令(如ps、top)、API接口(如getpid、gettid)以及通过/proc目录获取详细状态信息的方法,并提供了一个C++例程演示如何从/proc获取进程信息。Linux对进程线程的管理可分为内核层、用户态接口层和监控管理层,开发者可根据需求选择合适的机制进行控制。

2026-07-10 13:32:37 171

原创 AI和大模型——稀疏矩阵

摘要: 稀疏矩阵是指非零元素占比极低(通常<5%)的矩阵,其在AI和大模型中应用广泛。其特点包括数据分布稀疏、存储空间高效(需专用压缩格式)、计算复杂度低(可忽略零元素)以及适合并行计算。常见的存储格式有COO(坐标列表)、CSR(压缩稀疏行)、CSC(压缩稀疏列)和LIL(列表格式),分别适用于不同场景(如CSR适合科学计算,COO便于构建)。在AI领域,稀疏矩阵用于图像处理、自然语言表示(如邻接矩阵)和模型运算(如LoRA降维)。文中还提供了C++实现的COO格式稀疏矩阵示例,支持添加、转置和矩阵相加等

2026-07-09 10:30:20 141

原创 C++编程实践—广义表分析

本文介绍了广义表的概念、数学定义、特性及应用。广义表是线性表的扩展,允许元素为原子或子表,具有递归嵌套特性。文章分析了广义表的表头/表尾操作、时间复杂度(O(N))和空间复杂度(O(D)),并指出其在线性表、树、图等数据结构中的灵活性。广义表适用于编译器、AI等复杂场景,但复杂性也限制了其广泛应用。通过C++例程展示了广义表的实现,包括创建、遍历及计算长度/深度等功能。最后强调技术选型需权衡实际需求,避免过度追求复杂性。

2026-07-08 10:26:32 184

原创 AI和大模型——Skills如何使用

本文探讨了AI Agent中Skill的概念与应用。Skill是为Agent提供标准化程序化控制的功能模块,包含元数据、指令和资源三要素。文章指出Skill调用的关键在于完善描述信息,包括精准匹配AI需求、控制描述长度和明确资源路径。在编写Skill方面,重点列举了9类适用场景,如API调用、自动化流程和运维管理等,强调应避免简单重复内容。高级应用技巧包括状态保持、脚本调用和钩子机制。最后提醒开发者应合理利用现有Skill资源,避免过度开发造成浪费。

2026-07-07 10:44:08 734

原创 数据结构—表

本文探讨了数据结构的发展与应用,指出随着编程技术的进步,数据结构虽不断创新但本质仍是数据关系的抽象。文章重点分析了表结构,将其分为线性表(如链表、数组)、哈希表(通过哈希函数映射)和广义表(线性表的递归扩展),并强调数据结构分类应注重特性而非严格划分。线性表广泛应用于基础结构(如队列、栈)和复杂结构(如哈希表冲突处理、B+树存储)。最后通过C++广义表示例说明实现方式,并总结体系化整理基础知识有助于技术组合创新。

2026-07-06 10:45:49 281 1

原创 AI和大模型——Agent的memory

本文探讨了AI系统中记忆机制的重要性及其实现方式。文章首先类比人脑记忆功能,指出记忆是AI学习与交互的基础。针对大模型无状态机制的局限性,提出由Agent管理上下文记忆,并借鉴人类记忆分类(感觉记忆、短时记忆和长时记忆),将Agent记忆分为短期记忆、长期记忆和程序记忆三种类型。处理方式包括滑动窗口、摘要压缩和RAG向量数据库等技术组合,结合反思机制优化记忆管理。重点介绍了Mem0三层框架(智能处理层、混合存储层、精准检索层),通过动态记忆操作实现类人记忆功能。最后指出AI记忆管理仍处于发展初期,存在广阔探

2026-07-05 09:21:33 184

原创 c++编程实践——设计开发者的错误认知

本文批判了技术开发中常见的"唯技术论"倾向,指出技术只是解决问题的工具而非目的。作者列举了7种错误认知方式:过度设计、过早优化、设计洁癖等,并通过实际案例说明这些误区如何导致项目失败或成本激增。文章强调开发者需要拓宽视野,避免陷入技术细节,建议将不同领域知识融合形成系统思维,同时合理运用新技术如AI辅助开发。最后指出成功的开发需要平衡技术深度与广度,采用渐进迭代的方式,而非追求完美主义的设计。

2026-07-04 09:42:23 233

原创 跟我学C++中级篇—空基类优化

本文详细分析了C++中的空基类优化(EBO)技术。EBO允许空类作为基类时在派生类中不占用存储空间,从而优化内存布局。文章从空类的基本特性出发,阐述了EBO的实现原理:编译器在继承场景下对空基类进行特殊处理,使其大小变为0。文中介绍了EBO的三大优势:减少内存对齐膨胀、压缩空类存储空间、避免继承时额外空间开销。通过compressed_pair和STL分配器的实例说明了EBO的实际应用价值。同时指出了EBO的适用限制条件,并介绍了C++20引入的[[no_unique_address]]属性对EBO的扩展支

2026-07-03 07:59:34 170 1

原创 数据结构——图

本文对图数据结构进行了概述,分析了图的数学定义和常见分类方式,并列举了实际应用场景。文章首先说明图的二元组定义(顶点集和边集),指出环和多重图等特殊情况。图的分类包括按方向(有向/无向)、权重(有权/无权)、连通性、顶点规模等标准。应用场景涵盖图数据库、路径规划、AI图神经网络等,但开发者实际接触较少。最后给出C++实现Dijkstra最短路径算法的示例代码,展示有向赋权图的应用。文章强调图结构虽然复杂且应用专业,但在底层算法和框架中广泛存在。

2026-07-02 10:56:54 300 1

原创 计算机原理—Linux中常见的文件类型

本文系统介绍了Linux系统中的文件类型及其特点。首先从文件类型的两个视角(用户应用层和底层系统层)进行阐释,重点分析了Linux平台"一切皆文件"的理念与Windows的区别。详细列举了六种主要文件类型(普通文件、目录文件、符号链接、设备文件、管道文件、套接字文件)及其标识符,并特别说明了/dev目录下的几种特殊设备文件(空设备、零设备、随机数设备等)。文章还概述了不同文件类型的操作API,并指出Linux不依赖文件后缀区分类型的特性是其安全性较高的原因之一。全文通过对比Windows与Linux的文件系

2026-07-01 10:40:02 172

原创 C++编程实践—常见的对象种类

本文系统阐述了面向对象编程思想及其在C++中的具体实现。面向对象将开发视角从整体转向对象,对象作为抽象的具体实例,具有状态、方法和ID三个基本特征。文章详细解析了C++中七种常见对象类型:基础类型对象、数组/容器对象、结构体对象、普通类对象、函数对象、Lambda表达式对象和仿函数对象,并通过代码示例说明其特点。其中,仿函数作为Lambda实现的基础,虽然语法简单但应用时容易混淆。作者指出,理解抽象概念需要借助具体实例类比,建议初学者从这些典型对象类型入手掌握面向对象编程。

2026-06-30 10:22:57 579

原创 C++编程实践——无锁数据结构

本文探讨了无锁编程及其核心数据结构实现。无锁编程通过原子操作和内存序替代传统锁机制,本质上属于乐观锁范畴。其关键技术包括:原子操作确保指令完整性,内存序管理操作可见性,以及应对ABA问题的版本控制等方案。C++标准提供了原子类型、六种内存序和ABA解决方案等支持。实践中,无锁栈和队列是典型应用场景,但需注意性能未必优于有锁实现。此外还需考虑平台差异、标准兼容性和特定优化等问题。文末通过无锁队列的代码示例,展示了CAS操作和内存序的实际应用,同时指出生产环境中需完善内存安全管理。无锁编程需权衡场景需求,避免盲

2026-06-29 10:43:02 499 1

原创 并行编程实战——CUDA编程的多GPU编程

本文探讨了多GPU编程的核心概念与CUDA框架的支持。文章指出,随着单机性能瓶颈显现,多GPU并行成为提升计算能力的关键方向。CUDA通过统一内存管理、P2P通信、NCCL等技术实现多GPU协同,重点解决设备发现、内存管理和任务分配等挑战。开发模式从单线程控制多GPU到复杂的多节点集群部署,复杂度递增。文章强调多GPU编程本质是分布式系统问题,需要处理硬件资源协调与数据一致性,建议开发者参考官方文档深入实践。目前该技术主要面向高性能计算等专业领域。

2026-06-28 08:11:01 210

原创 AI和大模型——AI大模型应用的整体框架

本文系统梳理了AI大模型应用开发的技术演进与框架体系。从简单的提示词工程起步,发展到包含上下文管理、工具调用、安全机制等功能的完整Agent系统,再通过任务编排实现复杂任务处理。文章重点解析了Agent框架的核心构成(如ReAct循环、RAG技术)和新兴的Harness Engineering(即Agent去除大模型后的控制部分)。当前主流开发框架已原生支持这些功能,开发者更需关注需求分析、任务拆解和规则设计。建议结合具体技术文章对比学习,全面掌握AI应用开发从底层技术到整体框架的知识体系。

2026-06-27 08:37:23 186 1

原创 C++编程实践—优化和消除拷贝

本文探讨了内存拷贝的优化策略。首先分析了内存拷贝的本质及问题(效率低、空间浪费、内存碎片),然后区分了必要与不必要的拷贝场景。文章详细介绍了对象拷贝(深/浅拷贝)和直接内存拷贝的特点,并提出优化方法:编译器优化(NRVO/RVO)、共享内存、写时复制(COW)等。进一步阐述了消除拷贝的技术,包括引用传递、移动语义、内存池等。最后通过C++示例代码展示了返回值优化、移动构造/赋值、智能指针共享和COW技术的具体实现。这些方法能有效减少内存拷贝,提高程序性能和内存利用率。

2026-06-26 07:52:27 174

原创 跟我学C++中级篇——内存碎片

本文系统探讨了内存碎片这一软件开发中的常见问题。内存碎片分为内部碎片(分配但未使用的内存)和外部碎片(不连续的小内存块),二者都会降低内存利用率。其影响包括性能下降、内存浪费、程序不稳定及功耗增加等。文章分析了内存碎片产生的底层机制,指出其是内存管理效率与性能平衡的产物,并强调内部与外部碎片往往相互制约。针对不同类型碎片,提出了动态分配、Slab分配、内存池等解决方案,但也指出完全消除碎片不可行。最后强调开发者需理解原理并灵活应对实际问题,在工程实践中权衡取舍。

2026-06-25 11:10:29 187

原创 C++编程实践—变参模板和原地构造

通过上面的分析可以看出,关于利用现有技术或引入更新技术进行工程创新,是技术进步的最简单也最容易实现的方式。而且,这种创新往往带来巨大的进步,这在实践中已经被反复验证过了。推荐开发者可以从此入手,对现有的工程进行小步快跑的迭代。一定会有不错的收获。

2026-06-24 10:30:44 167 1

原创 跟我学C++中级篇—debug和release

本文探讨了软件开发中Debug与Release两种编译模式的区别与应用场景。Debug模式包含丰富的调试信息,便于开发者定位错误,但会降低运行效率;Release模式通过代码优化提高性能,适合最终用户使用。两者在编译目标、代码优化、结果体积、调试信息等方面存在显著差异。文章还指出,Release版本可能出现难以定位的随机错误,建议通过经验分析或保留关键调试信息来解决。最后通过C++代码的汇编对比,直观展示了两种模式的底层差异,强调理解这些差异对开发者掌握机器视角的重要性。

2026-06-23 10:39:10 928

原创 并行编程实战——CUDA的硬件抽象层

本文探讨了硬件抽象层(HAL)的概念及其在CUDA架构中的应用。硬件抽象层作为操作系统与硬件间的接口,实现了软硬件的解耦,提升了跨平台兼容性和开发效率。CUDA通过虚拟指令集PTX、SIMT运行模型等技术构建了硬件抽象层,将GPU复杂指令封装为统一接口,以轻微性能代价换取显著开发效率提升。文章分析了CUDA抽象层的五项核心技术,包括编程模型、PTX/JIT机制、内存管理等,指出这种抽象虽局限于NVIDIA GPU,但因该平台广泛应用而具有重要价值。最后强调抽象的本质是权衡性能与便利性,关键在于平衡取舍。

2026-06-22 10:35:43 199

masstree算法论文

目前的底层的分布式数据库如ROCKSDB等都使用的LSM的算法,本文使用了masstree这种算法来优化其处理。

2018-11-17

Sql批量操作数据

在SQLSERVER的多条数据操作时,使用SQLBULKCOPY等几种方式的对比,这篇文档就是整理了这些使用的方法。

2018-10-05

朗新WEBSERVER接口(南网和天津电网)

适用于朗新目前的所有接口,平台语言C#,主要是对电力系统SG186的跨平台调用。也适于于同样的WEBSERVER工程跨平台使用。使用说明书已打在压缩包里。

2009-03-16

IOTEX白皮书

物联网和区块链的结合,实现了链中链和跨链的通信,通过特有零知识证明来解决用户隐私问题。

2018-09-30

JAVA并发编程设计原则与模式

一本比较老的书,讲得多线程和并发技术,是一个入门的比较浅显的书籍。

2018-10-01

虹膜开源的算法

本文是国外的一款开源的虹膜识别框架的介绍,它的源码是可以直接使用的,但是需要优化。

2018-11-17

电能质量闪变的测量

电能质量是电力行业一个重要的部分,本论文从实际出发,论证了闪变测量的方法。

2018-10-05

大数阶乘算法的一个例子

小数的阶乘比较好做,但是阶乘的数量变化非常快,很快会溢出,这里采用一种变通的方法,可以实现相当大的数的阶乘,如果在这个基础上进一步扩展,能进行更大的阶乘算法。

2018-10-06

bancor协议白皮书

bancor协议是目前区块链研究的一个重要方向,跨链不同的TOKEN之间的兑换一直是一个问题,这里给出一个解决的方案。

2018-09-29

steamr白皮书

steamr是一个用来做数据去中心化的网络和市场相关的区块链项目,主要提供去中心化的云服务。

2018-10-11

安卓编译JAR包和SO

这个是用ECLIPSE编译JAR包和SO的一个教学录像,非常适合对c++不熟悉的人编译使用。

2018-10-01

linux设备驱动开发

本书从浅到深介绍了LINUX操作系统上的驱动开发的过程,值得推荐。

2018-11-17

代码管理核心技术及实践

代码管理是开发过程一个重要的环节,好的代码管理可以为团队的开发提供安全的保护和合作,本书就是讲述在不同环境中如何使用主流的代码管理软件和方式。

2018-09-30

DERP白皮书

DREP区块的白皮书,是一个新的区块链的技术,如果大家对这个感兴趣,可以下来看看。

2018-09-29

mixin白皮书

mixin是一个闪电交易快速的点点对的数字交道项目,它拥有非常好的技术栈。

2018-10-11

阿希链白皮书

阿希链是一个用javascript写的侧链,主要用来完成多链间的通信,有一定的特色,可以借鉴。

2018-10-11

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

TA关注的人

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