自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 收藏
  • 关注

原创 QTAV踩过的坑和MDK-SDK的一些小东西

qtav编译问题,lnk2019,黑屏问题,mdk进度条实现

2024-01-19 16:07:02 450 2

原创 ros2-foxy windows下安装流程

如果不进行该项配置,之后每次运行cmd等terminal时,先行载入ros2配置文件(默认路径为。在PowerShell中执行以下命令:(当前段落所执行的命令均可能导致较长的耗时,请耐心等待)windows下有个脚本运行框,powershell,已管理员的身份运行,然后执行如下。),以下文档默认执行过该命令,不另作说明,当发现输入ros2相关指令无反应时请自行检查。即可对之前运行的乌龟模拟器进行控制,至此,ros2安装完成。安装完成后,输入choco应出现提示信息,如下图。

2023-04-13 17:25:09 724

原创 spdlog同时输出到控制台和文件中,可设置文件大小及数目,define方式

spdlog同时输出到控制台和文件中,可设置文件大小及数目,define方式

2023-01-28 17:50:45 2231 2

原创 返回n个数据中的最大值(va_list + 模板类)

不定参数个数的函数和模板结合

2022-12-16 16:47:44 188

原创 Linux下以队列的方式封装使用共享内存

两个进程之间需要图片的传输,之前的程序会导致三次额外的文件IO过程起初是部门老哥建议使用boost封装好的共享内存进行开发,其中也封装好了相应的queue和string类,用以存储图片数据,后来发现使用时,按boost的方法开辟的单个共享内存区域的大小过小,可能是自己使用的方式有所不对,网上查阅资料无果,故而放弃。放一个boost共享内存的相关网址,算是在学习中看到的最好的一个,有需要的可以看一下。

2022-10-14 16:13:15 423

原创 Qt实现登录验证码

示例先放一下效果图每次验证码输入错误或者点击验证码图片都可以进行验证码的刷新正文用到的是QFrame需要用到UI里的类提升,自建一个新的设计师类,系统会自动生成.h和.cpp我这里的类名用的是Ver,有需要的自行替换即可Ver.h#ifndef VER_H#define VER_H#include <QFrame>#include <QLabel>#include <QString>namespace Ui {class Ver;

2021-12-07 11:23:08 2510 1

原创 STM32基础课程笔记

【1】STM32简介命名规范STM32F051K8U6ST - 公司M - micro eletronics32 - 32位处理器 STM8F - 基础版 L - 低功耗 G - 电源051 - 入门级别 103 - 主流级别 407 - 高性能K - 32个管脚8 - 64KU - UQFN 封装类型6 - 工作温度范围STM32和ARM的关系?STM32的CPU是采用的ARM-CortexM0架构的ARM处理器命名规范ARM7\9\11C

2021-10-18 21:12:38 1889

原创 c++错题

多选题一生之敌了属于是

2021-09-18 14:32:57 119

原创 C++笔记 面向对象、构造析构拷贝初始化列表、string、new和delete、拷贝函数、this指针

一、面向对象1.1 类和对象关键字class类是抽象的(class定义的是类)对象是具体的(具体在函数中定义类型+变量名)1.2类中成员的访问权限public:都可private:类内可protected:子父可1.3代码#include <iostream>#include <string>using namespace std;class MoonCake { string inside; string outside; string

2021-09-10 08:55:19 143

原创 vim配置

map <F9> :call SaveInputData()<CR>func! SaveInputData() exec "tabnew" exec 'normal "+gP' exec "w! /tmp/input_data"endfunccolorscheme torte"colorscheme murphy"colorscheme desert "colorscheme desert "colorscheme elflord"colorscheme

2021-09-08 17:20:02 405

原创 IO进程笔记---Linux

标准IO 流和流指针 缓存区分类 标准io操作函数直接IO 文件指针偏移函数 文件IO stat目录文件操作函数 库进程 exec线程 同步 互斥 条件变量进程间通信 管道 信号共享内存 信号灯集 消息队列...

2021-09-01 10:16:20 140

原创 线程 同步 互斥 条件变量

【1】线程–》 进程是资源分配的最小单位,线程是cpu调度的最小单位概念:线程指的是共享相同地址空间的多个任务特点:由于进程的地址空间是私有的,因此在进程间上下文切换时,系统开销比较大为了提高系统的性能,许多操作系统规范里引入了轻量级进程的概念,也被称为线程在同一个进程中创建的线程共享该进程的地址空间Linux里同样用task_struct来描述一个线程。线程和进程都参与统一的调度优点:使用多线程的好处大大提高了任务切换的效率多线程通信简单,可以通过全局变量

2021-09-01 10:07:03 186

原创 Linux下的网络编程--笔记

交换机与路由器:交换机:用于局域网内网的数据转发路由器:用于连接局域网和外网IP地址:IP地址是Internet中主机的标识Internet中的主机要与别的机器通信必须具有一个IP地址IP地址为32位(IPv4)或者128位(IPv6)每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数。 192.168.1.31 C类 , 点分十进制IPC0A8011F 4*8

2021-08-27 14:06:51 348

原创 共享内存 信号灯集 消息队列

【1】信号:概念:信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件。如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到该进程恢复执行再传递给它;如果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到其阻塞被取消时才被传递给进程。2.用户进程对信号的响应方式:1)忽略信号:对信号不做任何处理,但是有两个信号不能忽略:即SIGKILL及SIGSTOP。2

2021-08-23 08:47:04 310

原创 进程间通信 管道 信号

【1】条件变量一般与互斥锁搭配使用,可以实现同步机制int pthread_cond_init(pthread_cond_t *restrict cond,const pthread_condattr_t *restrict attr);功能:初始化条件变量参数:cond:是一个指向结构pthread_cond_t的指针restrict attr:是一个指向结构pthread_condattr_t的指针,一般设为NULL返回值:成功:0 失败:非0pthread_cond_t cond

2021-08-21 08:39:08 220

原创 进程 exec

【1】退出进程的函数exit/_exit#include <stdlib.h>void exit(int status);功能:退出进程参数:status:退出进程的状态返回值:无#include <unistd.h>void _exit(int status);功能:退出进程参数:status:退出进程的状态返回值:无exit退出进程会刷新缓存区,_exit退出进程不刷新缓存区【2】获取进程pid和父进程pid的函数getpid/getppi

2021-08-19 18:39:23 398

原创 目录文件操作函数 库(静态库动态库)

【1】目录文件操作函数opendir 、 closedir、readdirDIR *opendir(const char *name);功能:打开目录参数:name:目录名返回值:成功:目录流指针失败:NULL 更新errnoint closedir(DIR *dirp);功能:关闭目录参数:dirp:目录流指针返回值:成功:0失败:-1 更新errnostruct dirent *readdir(DIR *dirp);功能:读目录文件参数:dirp:目录流

2021-08-18 14:09:22 274

原创 Linux的一些小命令(非基础)

diff filename1 filename2用以比较两个文件是否相同gedit filename用gedit打开文件uname -r cat /proc/version查看内核版本cat /etc/issue查看Ubuntu版本

2021-08-17 16:24:42 127

原创 直接IO 文件指针偏移函数 文件IO stat

补充函数:1.fprintfint fprintf(FILE *stream, const char *format, ...);功能:以指定的格式向文件中输出sprintfint sprintf(char *str, const char *format, ...);功能:以指定的格式将内容存放到数组中 str3.time#include <time.h>time_t time(time_t *t);功能:获取系统从1970-01-01 00:00:00到当前时间的秒

2021-08-17 14:11:41 593

原创 标准IO 流和流指针 缓存区分类 标准io操作函数

【1】I/Oi:input 输入 从文件中输入内容到内存中o:output 输出 从内存中将内容写道文件中内存:掉电数据会丢失 RAM 实际磁盘内存(物理内存空间):掉电数据不会丢失 ROM linux中文件类型七种:bcd-lspb: 块设备c: 字符设备d:目录文件-:普通文件l:链接文件s:套接字文件p:管道文件【2】标准IO标准IO是指在C库中提供的一组专门用于输入输出的函数标准I/O由ANSI C标准定义不仅在UNIX系统,在很多操作系统上都实现了标准

2021-08-14 18:18:07 603

原创 数据结构错题

包括三个方面:数据的逻辑结构、数据的存储结构和数据的运算集合最多是2^k - 1 ,最少是2^(k-1)

2021-08-13 18:42:30 141

原创 快速排序 C代码

写这个的起因是自己很好奇,为什么大家的快排都是左边放小于等于基准数的,这个等于为什么要放在左边,所有自己加了很多注释写了个代码看了一下,其实很简单的问题,从左往右遍历的时候,每次都是和自身先进行比较的,这几天学东西有点杂,脑子有点转不动了,用这篇文章稍微警示一下自己吧/************************************************************************* > File Name: quick.c > Created Time: W

2021-08-11 16:25:36 140

原创 LeetCode 413.等差数列的划分

这题感觉其实是个找规律的题,写一下思路吧一个单调递增的序列,在后面加上一个依旧符合该递增性质的数,数列的总长度就+n,也就是总的子序列个数为1+2+3+4+5+6+...+(n-1)+n这里简单地推一下这个公式,以求长度>=3为例第一个序列为1 2 3 长度三的递增子序列个数为1末尾+4得到1 2 3 4及2 3 4个数为2末尾+5得到1 2 3 4 5,2 3 4 5,3 4 5个数为3末尾+6得到1 2 3 4 5 6,2 3 4 5 6,3 4 5 6,4 5 6个数...

2021-08-10 09:20:56 104

原创 LinuxC高级错题

答案为C 注意压缩后的名字写在前面答案为D static这个首先应该是把4-7位置0,也就是num & ~(15 << 4),然后置1010的时候应该是num | 10 << 4,注意不要顺手写成15。。。。错的都挺傻,注意要认真些。...

2021-08-03 16:49:55 119

原创 LinuxC高级_day5

LinuxC高级_day5【1】shell函数1. 函数的定义方式 1)函数名() { 命令 } 2)function 函数名() { }注意 : 1. function是函数的声明2. shell函数没有参数列表 参数列表是在调用函数的时候使用位置变量3. 大括号包裹起来 成对出现4. 函数内部可以有return语句 但是声明没有返回值5. 函数内部变量默认是全局变量 如果想要声明局部变量要使用loca

2021-08-02 19:18:07 126

原创 LinuxC高级_day4

LinuxC高级_day4【1】结构性语句if..then..fi1)基本结构 if 表达式 then 命令表 fi2)分层结构 if 表达式 then 命令表1 else 命令表2 fi3)嵌套结构 if 表达式 then 命令表 else if 表达式 then 命令表 fi fi

2021-08-01 09:32:33 109

原创 LinuxC高级_day3

LinuxC高级_day3【1】shell脚本本质: 命令的有序集合1)说明性语句 # 不会被解释执行2)功能性语句 shell命令 shell程序3)结构性语句 条件测试 多路分支 循环控制怎么创建一个shell脚本1) touch test.sh2) chmod 777 test.sh 给权限3)vim test.sh#! /bin/bash — 告诉系统我要使用bash解析4)./test.sh 执行脚本执行脚本的方式./脚本名 文件执行必须需要可执行权限ba

2021-07-29 18:52:40 142

原创 LinuxC高级_day2

LinuxC高级_day2main.c文件书写#include <stdio.h> --系统给的也可以用"stdio.h"#include "../student.h" – 自定义指针的类型 和 指针指向的类型sizeof(*cls)-Y sizeof(cls)-X sizeof(class_t)-Y1)先++再判满2)初始人数-1 表示班级是空3)班级满的时候加上的人数要减回来4)getchar()吃掉字符while(getchar() != '\

2021-07-29 10:17:27 393

原创 LinuxC高级_day1

LinuxC高级_day1【1】 什么是嵌入式?以计算机应用为中心,软硬件可裁剪的专用计算机系统(通用计算机系统windows 系统OS),对功耗体积成本都有特定的要求。软件可裁剪:网络方面驱动程序可以删除硬件可裁剪: 画PCB删掉 网口范围: 小到周边大到航天专用计算机系统: 京东仓库-智能分拣 北京无人公交车 上海送餐机器人小爱同学 小度小度操作系统 – 内核windows – NT内核Ubuntu – linuxmacOS – UnixAndroid –

2021-07-28 09:08:50 579

原创 c语言的几个易错题

答案为c 2 4,主要是**k的值,因为指向了p,所以p指向改变以后连带的k也会改变答案为C, 这个题数组长度是带着‘\0’的答案是A,我这里选了D,其实很好判断的,看一下调用该函数的时候传的是不是&p就好了,如果不是传地址的话对本来的变量不会有改变的答案是D,abcd地址连续...

2021-07-26 10:44:23 331

原创 LeetCode 2100题 面试题08.05.递归乘法

因为是第一次做感觉很有意思,题目的大意是给定两个int的整数要求递归实现乘法具体想法就是假如输入的是72拆解成71+7*1及7+7由此推得74拆成72+72,继续71+71+71+7*1如果是7*3这种奇数加一次7然后继续按照偶数处理即可class Solution {public: int multiply(int A, int B) { if(B == 0) return 0; if(B == 1) return A; ..

2021-07-20 19:24:50 147

原创 LeetCode第二题两数相加C

写几个我遇到的问题runtime error: member access within misaligned address0xbebebebebebebebe for type ‘struct ListNode’, which requires 8 bytealignment [ListNode.c] 0xbebebebebebebebe: note: pointer points here这个是因为c你定义了指针以后,他的->next默认是没有指向任何东西的,需要付一步空就好了

2021-07-18 14:12:53 328

原创 07-16 shell编程,基本语句

基本过程创建shell文件后缀为.sh赋予shell文件执行权限执行shell文件两种方式./文件名bash 文件名创建第一行为#!/bin/bash,换行切回命令行模式用o换行shell变量shell允许用户简历变量存储数据,但不支持数据类型,将任何赋给变量的值都解释为一串字符shell变量赋值时=前后不允许有空格ehco用于打印$用于取值命令置换时的命令用``括起来(esc下面的小点)...

2021-07-16 09:27:03 141

原创 运算符的优先级和结合性

优先级 运算符 含义 运算对象个数 结合方向 1 () 圆括号 .

2021-07-15 18:43:26 128

原创 07-15 shell命令 man ps linux各个文件夹的含义

man [name] 获取联机帮助NAME:命令(函数)的名称SYNOPSIS:命令的语法格式DESCRIPTION:命令的一般描述及用途OPTIONS:描述命令所有的参数或选项SEE ALSO:列出联机帮助页中与该命令直接相关或功能接近的其他命令BUGS:解释命令或其输出中存在的任何已知的相关问题和缺陷EXAMPLES:普通的用法示例AUTHORS:联机帮助页以及命令的作者ehcoehco “string a”加上双引号,双引号内的内容原样输出去掉双引号后只保留一个空格

2021-07-15 16:29:22 370

原创 07-14 c语言中char型和int型具体区别 变量的分类 内存分区

c语言中char型和int型具体区别变量类型不同 字符型和整形字节数不同(在内存中占用的空间不同)可申请的构造类型不同变量的分类全局变量定义位置:函数体外部未赋初值:初值为0存储位置:全局区(.bss和.data)生命周期: 整个程序局部变量定义位置:函数体内部未赋初值:随机值存储位置:栈区(计算机自动开辟和释放空间)生命周期:函数体调用时期Kernel环境变量命令行参数栈局部变量存在栈顶由系统自动开辟和释放空间mmap共享库的内存映射区堆由程序员 手

2021-07-14 16:00:55 505

原创 07-13 vi编译器 gcc四步编译 存储类型 数据类型

vi编译器命令行模式进入输入模式特征指令作用新增a从光标所在位置后开始输入A从光标所在行最后面开始插入i光标所在位置前I光标所在行的第一个非空字符前开始o光标下新增一行O光标上新增一行删除s删除光标所在字符并进入输入S删除光标所在行并进入输入底行模式特征指令作用分屏vsp /路径/文件名分屏打开另一个文件查找s/str查找str高亮no..

2021-07-13 18:40:16 157

原创 07-12 linux文件类型 - cd的一些用法

linux特点:免费,开源,可裁剪,移植性好和windows的区别:开源,安装软件方式Windows为按转包,linux为apt-get或直接下载源码进行编译linux的文件系统标准:FHS标准,是以倒置树系统来

2021-07-13 09:19:00 124

原创 linux下的2048小游戏

首先先解决getch在linux下无法正常使用的问题,需要自己写个函数//分配内存的大小#define SIZE 10//定义按键们的宏#define ESC "\033"#define UP "\033[A"#define DOWN "\033[B"#define LEFT "\033[D"#define RIGHT "\033[C" for ( ; ; ) { fgets(

2021-07-12 10:24:14 516 1

原创 小抄c

最大公约数int gcb(int a, int b){ if(b == 0) return a; return gcb(b, a%b);}最小公倍数a*b/gcb(a,b);

2021-07-12 09:42:52 93

空空如也

空空如也

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

TA关注的人

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