排序
深入分析HWASAN检测内存错误原理
导语:ASAN(AddressSanitizer) 是 C/C++开发者常用的内存错误检测工具,主要用于检测缓冲区溢出、访问已释放的内存等内存错误。 AArch64 上提供了 Top-Byte-Ingore 硬件特性,HWASan(HardWare-a...
使用C#基于ComPDFKit SDK快速构建PDF阅读器
使用C#基于ComPDFKit SDK快速构建PDF阅读器 在当今世界,Windows 应用程序对我们的工作至关重要。随着处理 PDF 文档的需求不断增加,将 ComPDFKit PDF 查看和编辑功能集成到您的 Windows 应用程...
C++打印虚函数表的地址
引入 今天遇到了一个问题,非常有意思,在这做一下记录: 对于存在虚函数的类,如何打印虚函数表的地址,并利用这个虚函数表的地址来执行该类中的虚函数 虚函数介绍 先简单来讲一下虚函数的概念...
【菜狗教程】Protobuf.01 – 基本用法和特性介绍
菜狗教程 —— Protobuf 篇 01 官方文档:protobuf.dev/ Protobuf 的概念和用途 Protobuf 的含义是一件比较混乱的事,在日常开发的沟通里当我们提到 Protobuf 时,很可能还要根据前后语境判断具...
C/C++中的指针
指针的概念 C++中内存单元内容与地址 内存由很多内存单元组成,这些内存单元用于存放各种类型的数据 计算机对内存中的每个内存单元都进行了编号,这个编号就称为内存地址,地址决定了内存单元在...
数据结构之链表问题|单链表与双向链表详细解析(c语言&c++实现)
1.理解C 语言里是如何构造出链表的 2.链表增加元素,首部、中间和尾部分别会有什么问题,该如何处理? 3.链表删除元素,首部、中间和尾部分别会有什么问题,该如何处理? 4.双向链表是如何构...
【车载性能优化】将线程&进程运行在期望的CPU核心上
车载Android应用开发中,可能会出现一种奇葩的要求:与用户交互时应用需要全速运行,保证交互的流畅性,但是如果应用进入后台就需要怠速运行,让出更多的资源保证系统或前台应用的流畅度。那么...
C++动态加载so/dll库
在C++使用动态库,(linux下是.so,windows下是.dll) 比较常见的方式是在编译时,直接连接到程序中。但是除了这种方式外,还可以使用的动态加载的方式去使用动态库。 两种方式的区别 在编译时把...
【C++】深层次了解继承,从基础概念到复杂菱形继承问题(文章结尾有菱形继承常见面试题)
1.继承的概念及定义 继承的概念 继承是面向对象设计使代码可以复用的重要手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生的类,称为派生类。 继承的概念并不是固定的...
C++工程实践系列1 – opencv的集成与应用
导言 我想在开始C++工程实践系列文章之前,先说明一下为什么想要更新这个系列。 这个想法主要是因为我个人的C++学习历程,在上学期间我很难接触真实的工程项目,仅仅停留在语言应用的层面上,这...
读取一个特定的SMN(System Management Network)地址
这段代码定义了一个函数 ReadSmnOnDieNum,其主要目的是读取一个特定的SMN(System Management Network)地址,并返回其值。此功能的实现包括三个关键步骤:地址映射、读取和地址取消映射。下面...
c语言中:位域:的教学
位域是C语言中的一种高级功能,允许程序员为结构体的成员分配特定数量的位,而不是字节、字或其他数据类型。位域在内存紧张的环境中非常有用,例如嵌入式系统。以下是关于位域的基础介绍: 1. ...
C语言中,宏定义教学
prompt:c语言中:宏定义的教学 在C语言中,宏定义是预处理器的指令,主要用于为各种数据创建别名,以及为复杂的代码块或常数值创建简短的名称。宏定义使用 #define 指令。 1. 基本语法: #defi...
C++ 多态:概念与实现
概念 多态(polymorphism),字面意思的解释是指一个 function or object 可以在不同情况下有不同的行为。多态从实现上大致分为静态多态(static polymorphism)和动态多态(dynamic polymorphi...
现代C++(Modern C++)基本用法实践:N、其他零散的常用特性
合集 - 现代C++(Modern C++)基本用法实践(10)1.现代C++(Modern C++)基本用法实践:零、概述&测试项目07-132.现代C++(Modern C++)基本用法实践:一、类型推导07-133.现代C++(Modern C...
现代C++(Modern C++)基本用法实践:四、模板
合集 - 现代C++(Modern C++)基本用法实践(10)1.现代C++(Modern C++)基本用法实践:零、概述&测试项目07-132.现代C++(Modern C++)基本用法实践:一、类型推导07-133.现代C++(Modern C...
非root非源码安装高版本gcc的终极方法
前一篇文章那种方法虽然当前运行没有什么问题,但潜在风险很大,在生产环境断然是无法适用的,所以还是老老实实按照别人的建议,通过conda的方式来安装。可能有人已经非常熟悉这些流程和操作了...
非root非源码安装高版本gcc的一种方法
有一些工程或者项目,它们编译或者运行需要依赖的命令和库的版本可能高于现有系统自带的版本,这时候就需要用root用户安装或者升级。但是出于安全方面的考虑,一般我们登录服务器都是以普通用户...
进程间通信之信号量和信号
前文链接 进程间通信之管道 进程间通信之消息队列和共享内存 信号量 在上一篇文章中,我们讲到了共享内存,也写了一个简单的事例来讲解了如何来实现内存通信,读写内存数据。当然我们的事例中只...
[TSG开发日志4]算法组件、个人编写的库文件如何封装成DLL,如何更好地对接软件开发?
写在前面 这个内容确实是我有点疏忽了,我以为做算法的同事应该多少对这方面会有点了解的。但是我想了一下我刚毕业的时候,确实对这方面的理解不深,查了很多资料才勉强搞懂什么意思,也是后来...