自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (3)
  • 收藏
  • 关注

原创 算法系列之十大经典排序算法

我们知道CPU有很多经典的排序算法,比如:快排,归并等等,本节将对这些排序算法做一个总结,并附上c++代码实现算法时间复杂度(average)时间复杂度(max)时间复杂度(min)空间复杂度稳定性归并排序Onlog2nO(nlog_2n)Onlog2​nOnlog2nO(nlog_2n)Onlog2​nOnlog2nO(nlog_2n)Onlog2​nOnO(n)On稳定冒泡排序On2。

2024-12-14 09:35:40 876

原创 一篇文章精通CMake

cmake是大型工程非常常见的软件集成工具,掌握cmake的用法,可以让我们在项目搭建过程中如鱼得水,更新详细的介绍,可以参考官方文档, 本文主要总结一些我们项目构建过程中非常常用的一些功能。

2024-12-14 01:15:02 285

原创 Makefile详解

Makefile 是用于管理项目构建过程的工具,广泛用于 C/C++ 等语言的编译。它通过定义规则和指令,自动化编译、链接等步骤,大大简化了开发者的工作。并且即使是一些其他的编译构建工具,最终也是以生成makefile为目的,比如cmake,所以了解Makefile的一些语法,对于项目构建非常重要make 是工作原理是:读取Makefile中所定义的规则,通过规则来递归遍历所有的依赖以及执行指令,最终完成整个工程的构建上面的意思表示SRC变量就是main.cpp这个字符串,我们可以使用${SRC}或者。

2024-12-12 15:11:33 730

原创 算法系列之左视图和右视图

前一篇文章讲解了二叉树的几种遍历方式(先根,中根和后根遍历), 在此基础上,让我们来进一步理解一下二叉树的左视图和右视图如上图所示,左视图我们形象德看着一个人从左边看这棵树,那么他能看到哪些节点呢?答案是A,B,C,E;同理,右视图则只能看到A,G,H,F。

2024-12-05 18:00:10 387

原创 算法系列之二叉树(先根、中根、后根)遍历

本算法系列会给大家讲解一系列常见的算法,本节主要讲解二叉树的先根、中根、后根遍历, 并附上C++算法源码,方便大家面试时参考本节将以以下这个经典二叉树为例为大家讲解其遍历方法定义二叉树节点char val;

2024-12-05 15:29:00 376

原创 Flash Attention源码学习之安装使用与接口参数说明(第二篇)

前一篇我们讲解了Flash Attention的原理,后续会陆陆续续推出Flash Attention的源码学习笔记,本篇主要讲解如何在本地Flash Attention的安装使用与接口参数说明。

2024-12-03 19:47:41 1076 1

原创 一篇文章精通套接字(Socket) 并附上源码

前面我们讲述了gRPC的通讯协议, 其通讯底层还是使用的套接字技术。本篇文章会详细讲解socket通信流程socket接口定义实现一个一对多的通信源码,开箱即用那么什么是套接字技术呢?套接字就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。要在主机与主机之间进行通讯,只是需要一对套接字,套接字之间的连接过程可以分为三个不走:服务器监听、客户端请求、确认连接服务器监听:是服务器端绑定端口后,进入一种等待连接的状态,实时监控网络状态客户端请求:是指客户端向指定的ip和端口发送连接请求。

2024-12-03 13:39:56 873

原创 Flash Attention源码学习之原理(第一篇)

V - Value, 内存张量,Shape是[Batch, Seq_len_kv, Head_num, Hide_dim]K - Key, 索引张量,Shape是[Batch, Seq_len_kv, Head_num, Hide_dim]Q - Query, 查询张量,Shape是[Batch, Seq_len, Head_num, Hide_dim]- 特征维度,主要是为了控制矩阵点乘后的范围,以确保softmax的梯度稳定性,经常取值等于Hide_dim。Self-Attention 公式如下。

2024-11-29 08:46:14 824

原创 gtest进阶之gtest的高级用法

前面一篇【gtest保姆级教程】中我们讲解了一些gtest的入门知识,gtest除了TEST_F和TEST外,还有更加高级的用法,使用这些高级用法,会让你的测试效率极大提高,往往一小段测试代码就可以生成出大量的测试集,让你的测试效率事半功倍。

2024-11-26 21:07:53 899

原创 gtest保姆级教程

gtest是什么?: gtest是google下面的一块跨平台测试框架,它是为C++测试而生成的,支持自动测试以及丰富的用户断言,并且支持并行运行如果是希望学习python的测试框架,可以进入另一篇文章【熟练掌握pytest 单元测试框架】中进行学习。

2024-11-26 20:08:30 776

原创 熟练掌握pytest 单元测试框架

pytest是一个非常强大的python测试框架,熟练掌握pytest对于自动化测试工程非常重要,下面来分享一些我的使用经验。

2024-11-26 16:10:03 739

原创 彻底解决Qt6中使用QtGraphicalEffects的问题

本文章讲述我在Qml使用QtGraphicalEffects模块时遇到的一些坑,供大家参考。

2024-11-22 00:41:26 1021

原创 gRPC实现第一个C++服务器

本章节将实现C++版本的个人注册页面的gRPC服务器更多基础知识可以参考上一节:GRPC 快速入门要定义服务,需要在login.proto文件中指定一个名为service的内容,另外我们还需要定义一个LoginInfo的消息体用来传递信息//指定版本信息,不指定会报错//package声明符,用来防止不同的消息类型有命名冲突// 注册消息体// 状态码,0表示成功// 返回信息,包含成功或错误描述// 定义服务将.proto 翻译成C++文件。

2024-11-21 19:04:02 550

原创 GRPC 快速入门

我们强烈建议您本地安装 gRPC——使用适当设置的 CMAKE_INSTALL_PREFIX——因为在您全局安装 gRPC 后,没有简单的方法将其卸载。您需要 cmake 的 3.13 版或更高版本。请按照以下说明进行安装。您刚刚使用 gRPC 运行了一个客户端-服务器应用程序。使用cmake进行源码编译。

2024-11-19 20:20:38 241

原创 Protobuf详解以及入门指南

Protobuf(Protocol Buffers)协议是由 Google 开发的二进制序列化格式技术它提供了一种高效、简洁和可扩展的方式来序列化和交换数据

2024-08-26 16:19:34 1335

原创 Opencv学习笔记(一)

什么是OpenCVOpenCV是一个开源的计算机视觉库,可以从http://opencv.org获取。OpenCV库用C和C++语言编写,可以在Windows、Linux、MacOS等系统运行。同时也积极开发Python、Java、Matlab以及其他一些语言的接口。从Git获取最新的OpenCV在Windows上,如果想要从Git获取OpenCV最新版本,你需要访问https://gitbub.com/opencv/opencv.git在linux上,只需要输入如下指令:git clone ht

2020-09-05 12:46:08 210

g3log 日志管理

这是一个开源的日志管理系统,但是现有接口过于落后,不过很成熟与稳定,个人长期使用,可以将该接口进一步封装成更加友好的接口进行使用。

2020-08-31

基于g3log日志管理

该日志管理系统基于g3log使用,请先安装g3log再进行编译;同时该日志管理系统继承了ros的日志使用习惯,方便熟悉ros的朋友使用。

2020-08-31

ros串口通讯c++实现

使用前,先安装sudo apt install ros-kinetic-serial 库,再进行编译

2020-08-31

空空如也

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

TA关注的人

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