- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 捷联式惯性导航系统
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档捷联式惯导系统系列文章目录前言一、常见坐标系1.坐标系2.方向余弦阵二、IMU更新算法1.姿态解算1.速度解算前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本
2021-12-10 21:24:07
8343
原创 commonly used sentences
我们不应该来这里吗,我们不应该现在就离开吗,我们不应该先给她打电话吗,我们不应该进一步讨论这个问题吗,我们不应该查看一下日程吗,我们不应该寻求帮助吗,我们不应该完成我们的工作吗,我们不应该提前规划一下吗。这个戒指是什么做的,这个手表是什么做的,难怪你筋疲力尽,难怪你沮丧,难怪你心烦意乱,难怪你压力山大,难怪你困惑不已。我想这发生在你身上。我得走了,我得马上走,我得现在去吃饭,我得现在完成,我得现在去睡觉,我得现在去学习,我得现在去工作,我得现在去打电话,我得现在去收拾行李,我得现在离开家。
2025-04-25 15:12:08
204
原创 lsof(list open file)
lsof是一个非常强大的工具,可以用于查看系统中打开的文件、网络连接、进程信息等。通过不同的选项,你可以灵活地获取所需的信息。:查看特定用户的打开文件。:查看特定进程的打开文件。lsof -i:查看所有网络连接。:查看特定端口的网络连接。:查看特定文件或目录的打开情况。:仅显示打开文件的进程 ID。:查看特定进程的特定文件描述符的打开文件。希望这些示例和解释能帮助你更好地使用lsof。
2025-04-21 11:38:31
322
原创 磁盘分区步骤
通过以上步骤,你已经成功地在 Linux 系统中划分了一个新分区,并将其格式化为ext4文件系统,然后挂载到。此外,还配置了/etc/fstab文件,以便在系统启动时自动挂载该分区。
2025-04-21 11:15:28
1338
原创 enum struct
以下是如何定义一个的示例,其中枚举的底层类型被显式指定为unsignedTXT = 1,PDF = 2,DOCX = 3,JPEG = 4,PNG = 5,MP3 = 6,MP4 = 7,// 可以继续添加更多文件格式是一种非常强大的工具,用于定义类型安全的枚举类型。通过指定底层类型为unsigned,可以进一步控制枚举值的范围和存储大小。这种声明方式特别适合处理文件格式等需要明确类型和范围的场景。
2025-04-16 15:13:16
406
原创 std visit
std::visit是 C++17 引入的一个非常强大的工具,用于处理(变体类型)中的数据。它允许你对中存储的不同类型的数据执行不同的操作,而无需手动检查类型。以下是std::visit。
2025-04-16 15:12:26
301
原创 if constexpr
是 C++17 引入的一个非常有用的特性,特别适合在模板元编程中使用。它允许根据编译时条件选择性地编译代码块,从而提高代码的可读性和性能。通过合理使用,可以编写更加灵活和高效的模板代码。
2025-04-16 13:36:08
608
原创 code style
在C++编程中,注释是代码的重要组成部分,它可以帮助其他开发者(包括未来的自己)更好地理解代码的意图和逻辑。为了提高代码的可读性和可维护性,建议在注释中明确指出需要注意的地方。注释用于标记需要特别注意的地方,通常表示代码可能存在风险或需要进一步审查。注释用于标记临时的、可能不是最佳实践的解决方案,通常需要在未来改进。注释用于标记代码中需要注意的地方,例如重要的假设、限制或特殊情况。在某些情况下,标记代码的作者和日期可以帮助追踪代码的来源和修改历史。注释用于标记未来需要完成的任务或需要改进的地方。
2025-04-15 13:43:55
438
原创 磁盘分区难点
MBR:适用于容量小于2TB的磁盘,兼容性好,但分区数量和容量有限。GPT:适用于大容量磁盘,支持更多分区,可靠性高,适用于现代操作系统和UEFI启动模式。根据你的具体需求(如磁盘容量、操作系统和启动方式)选择合适的分区类型。LVM 是一种存储设备管理技术,它通过将底层物理存储设备抽象为逻辑单元,为用户提供灵活的存储管理能力。LVM 的核心功能包括动态调整存储大小、整合存储资源、快照支持和条带化等。
2025-04-14 10:41:59
1095
原创 std::allocator和 __pool_alloc
简单通用,适合大多数场景,但在处理大量小对象时可能效率较低。:使用内存池技术,适合处理大量小对象,提供线程安全选项,性能在某些场景下优于。选择哪种分配器取决于具体的应用场景和性能需求。如果需要优化小对象的分配性能,是一个不错的选择。
2025-04-10 18:12:33
326
原创 计算几何快速入门
方法一:先求两个直线的竖直方向的向量n(同时垂直两个线段的方向),在计算两个直线的两个距离在此竖直方向n的分量长度。新加入的点在凸包内,凸包不变,凸包外,新点加入凸包集合,删除集合中,新凸包内的点(使用光源亮片的方法)。2d空间里,两个线段相交的充要条件,跨立测试:两个线段如果是四个端点围成的四边形的对角线,则线段相交。绕序法,点与多边形两个点两两顺序连接,如果存在负数的三角形面积,则在三角形外部,否则在内部。方法一:计算点到各个边的距离,如果距离在边线的延长线上,则计算与该边线端点的距离。
2025-01-05 16:02:51
1191
原创 【无标题】
vtkAlgorithm类下面有vtkPolyDataAlgorithm、vtkUnstructuredGridAlgorithm等,可以生成想要的数据source,也有vtkReaderAlgorithm,可以读取vtk的数据文件。vtkdataset类型是Image、Point、RectlinearGrid等类型的父类。vtkPolyDataAlgorithm的子类包括。
2023-08-13 16:29:42
273
原创 C++常见难点笔试面试题
满足下列条件的函数多数是不可重入的:也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中断,其次意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括 static),这样的函数就是purecode(纯代码)可重入,可以允许有该函数的多个副本在运行,由于它们使用的是分离的栈,所以不会互相干扰。上面的代码定义p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。这是一个非常微妙的问题,任何人答对这个问题(正当的原因)是应当被恭喜的。static用来修饰一个局部的变量的时候,
2022-10-06 20:16:07
941
原创 Http详解
tochttp请求包括:请求行、请求头、请求体我们点开html的页面,填写请求参数后,客户端向服务器发送post或get请求是根据html中的method参数的。post请求的请求参数在请求体中,而get请求的请求参数在请求行的网址中,客户端的直接在网址中显示请求参数,所以不安全。2.http1.0和1.1的区别客户端每次向服务器发送一次请求时,服务器端会每次都会相应一次,1.0版本在一次连接一次相应就会断开客户端和服务器的相应,而再次连接又会浪费资源。而1.1版本则会一直保存连接。请求体中的Conn
2022-06-14 00:16:49
317
原创 redis原理解析
redis是一个典型的key-value结构的数据库,每个数据库的所有的key和value以及key和ttl都通过redisDb联系起来。redisDb的两个dict指针分别指向两个记录key-value对和key-ttl对的Dict,Redis中的任意数据类型的key和value都会被封装为一个RedisObject,也叫做Redis对象,源码如下:encoding的11种编码: unsigned lru :LRU_BITS; 不同淘汰策略LRU_BITS表示不同含义其基本编码方式是RAW,
2022-06-07 23:51:13
1330
原创 系统编程常用函数
int fd=open("test.txt",O_RDWR|O_CREAT|O_TRUNC,0777);char buf[1024];strcpy(buf,"putout to stdout");int len=write(STDOUT,buf,sizeof(buf));int len=read(STDIN_FILENO,buf,sizeof(buf));int length=lseek(fd,0,SEEK_END);ftruncate(fd,20);link("text.txt","text
2022-05-20 23:46:38
226
原创 sql进阶
文章目录一、锁1.全局锁2.表锁1.表锁2.元数据锁3.意向锁(我们使用select ... lock in share mode后,加表锁共享锁不会阻塞)3.行锁4.意向锁和表锁的关系二、innoDB1.逻辑存储结构2.内存结构3.磁盘结构(存放一个个idb文件的文件夹)4.线程5.事务原理1.特性:2.redolog3.undolog4.当前读和快照读5.MMVC三、索引1.索引结构2.B+Tree3.hash4.索引术语解析5.sql性能分析1.SQL执行频率2.慢查询日志3.profile4.exp
2022-04-04 17:05:02
1652
原创 C++11特性总结
系列文章目录C++11系列文章目录一、类型1.auto用法一、类型1.auto用法注意要点:编译器在编译阶段完成对auto的推导,就必须能让编译器推出其类型。#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <vector>using namespace std;double foo(){ return 1.1;}struct Test{ int a;};void func(
2022-03-31 13:10:40
824
原创 SQL语法合集
Mysql一、DQL(Data Query Language):数据查询语言1、条件查询2.分组和排序3.常用函数4.多表连接4.子查询5.联合查询二、DML(Data Manipulate Language):数据操作语言1.sql的数据类型一、DQL(Data Query Language):数据查询语言1、条件查询一、按条件表达式筛选简单条件运算符:> < = != <> >= <=二、按逻辑表达式筛选逻辑运算符:作用:用于连接条件表达式 &am
2022-03-16 16:54:48
3403
原创 C++提高编程
C++提高编程一、 模板1.函数模板2.类模板二、STL之容器1. STL六大组件2.string2.vector3.deque3.list4.set和multiset5.map3.stack4. queue 常用接口总结一、 模板1.函数模板在调用函数模板时,可以不指定类型,但前提是可以让编译器可以推出其类型template<class T>void mySwap(T& a, T& b){ T temp = a; a = b; b = temp;}
2022-03-13 20:36:13
2264
原创 c++难点总结
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档C++难点误区总结系列文章目录一、基础入门1.基础知识2.数组和指针3.结构体二、核心编程一、基础入门注意:我们在定义变量、结构体时(如 int a=10),其实我们在代码区保存了a的地址(&a),当代码运行到的时候,就会找到a的值。而我们在定义指针、数组时(如 int*p=&
2022-03-07 21:26:44
2953
翻译 C++核心编程
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录C++核心编程1 内存分区模型1.1 程序运行前1.2 程序运行后1.3 new操作符2 引用2.1 引用的基本使用2.2 引用注意事项2.3 引用做函数参数2.4 引用做函数返回值2.5 引用的本质2.6 常量引用3 函数提高3.1 函数默认参数3.2 函数占位参数3.3 函数重
2022-03-07 15:53:59
237
原创 Libevent速成
Libevent速成总结makefile和cmakeLibevent速成总结一、概述1.反应堆模型2.事件状态转换图一、普通事件和信号1.libevent的常用函数2.demo代码三、bufferevent和evconnlistener1.常用函数2.代码demo一、概述1.反应堆模型在epool事件结构体中我们将event.data.ptr 指向一个带有函数指针的结构体,每当事件触发,就通过event.data.ptr调用对应的函数。这种类似于信号的代码模式称为反应堆(reactor)模型。
2022-03-07 14:27:22
471
原创 linux网络通信
linux网络编程makefile和cmakelinux网络编程一、socket1.常见函数详解2.服务器代码3.客户端代码二、select1.IO复用的概念2.常见函数详解3.服务器代码三.epool1.epool和select的区别2.常用的函数3.服务区代码四、udp通信1.实现方法及其代码五、本地套接字一、socket1.常见函数详解1.创建socket: int socket(int domain, int type, int protocol); domain: AF_IN
2022-03-05 22:20:29
5783
原创 makefile和cmake
linux驱动makefile和cmakelinux驱动一、makefile1.makefile常见语法2.gcc编译流程3.链接的细节4.交叉编译器二、uboot1.U-Boot 简介2.U-Boot 编译安装过程3.U-Boot 编译后的文件详解4.u-boot.imx文件的来源(烧到板子的最终文件)一、makefile1.makefile常见语法CROSS_COMPILE ?= arm-linux-gnueabihf-TARGET ?= beepCC := $(C
2022-01-16 21:28:16
651
原创 linux中gcc和uboot
系列文章目录文章目录系列文章目录一、uboot1.U-Boot 简介2.U-Boot 编译安装过程3.U-Boot 编译后的文件详解一、uboot1.U-Boot 简介(1)Linux 系统要启动先运行bootloader 程序,引导板子完成初始化。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH,SD,MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。bootloader 就相当于windows的 BIOS。(2)
2022-01-05 21:52:38
1567
原创 linux驱动之中断与输入子系统
linux驱动第一章 linux驱动之设备与驱动第三章 linux驱动之总线详解linux驱动之中断子系统linux驱动一、中断的设备树1.中断设备树结构2.中断的设备树设置3.中断相关函数一、中断的设备树1.中断设备树结构intc 顶层中断控制器——gpc一级子中断控制器——soc 二级子中断控制器(包含大多数外设的具体中断控制器)intc: interrupt-controller@a01000 { compatible = "arm,cortex-a7-gic";
2022-01-02 19:00:34
835
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅