自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (5)
  • 收藏
  • 关注

原创 jenkins中“Jenkins Plot Plugin”的使用方法,比较两个excel的数据差异

1.使用Jenkins Plot Plugin生成图表:在Jenkins任务的配置页面中,添加一个“Plot build data”步骤,并配置它以使用“diff.csv”文件生成一个图表。3.创建Jenkins任务:在Jenkins中创建一个新任务,并在“构建”部分中添加一个“Execute Windows batch command”步骤。1.安装Jenkins Plot Plugin:在Jenkins的插件管理页面搜索“Jenkins Plot Plugin”,并安装它。

2023-12-08 13:58:01 676

原创 ubuntu20.04中ros2安装rosbridge及启动方式

PIL是Python Imaging Library的缩写,它是Python的一个图像处理库,rosbridge_server需要用到它来进行图像压缩。这将启动rosbridge服务器并在WebSocket端口(默认为9090)上监听传入的连接请求。要启动ROS2中的rosbridge,需要先安装ROS2的rosbridge_suite软件包。安装完成后,再次尝试启动rosbridge_server,应该就不会再出现这个错误了。替换为正在使用的ROS2发行版的名称,我的开发板是。

2023-08-25 11:34:52 1858

原创 网页显示摄像头数据的方法---基于web video server

1. 背景:在ros系统中有发布摄像头的相关驱动rgb数据,需求端需要将rgb数据可以直接在网页上去显示。问题解决:2. 下载,安装和编译:可以看到编译的过程中无法找到async_web_server_cpp的数据包:3. async_web_server_cpp的下载,安装后面要安装async_web_server_cpp的相关服务包:代码下载:(1)首先,确保您已经安装了git和cmake。

2023-08-14 16:46:44 1892

原创 shell脚本中无需手动输入账号密码获取管理员权限的方法

在ubuntu系统中,可以在shell脚本中使用chmod和sudo给一个文件夹中的所有内容打开权限,赋予管理员权限,但是需要输入手动账号密码,以下方法可以不手动输入账号密码,直接都写在脚本里面去实现。有一种方法是使用sudoers文件来为特定用户或组提供sudo权限,以免输入密码。请注意,修改sudoers文件需要谨慎操作,因为错误的修改可能会导致系统不稳定或不安全。建议在修改之前备份sudoers文件。这样,当你运行脚本时,不需要手动输入密码就可以执行这些命令了。

2023-07-24 13:51:21 939

原创 ubuntu中运行ros2节点,共享库libblas.so.3无法加载报错的问题解决

export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库.LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库.udev-rules successfully installed 驱动安装成功。可以看到在/usr/lib下面已经有安装,只是现在ros2节点无法找到。的时候报错,无法找到对应的共享库。

2023-07-05 15:48:34 895

原创 docker安装之后,python环境破坏,无法编译colcon

【代码】docker安装之后,python环境破坏,无法编译colcon。

2023-06-06 11:14:35 398

原创 ros2编译python环境不匹配

ros2环境配置python环境:

2023-06-05 17:00:20 1085

原创 ros2编译 fatal error: rclcpp/rclcpp.hpp: No such file or directory 28 | #include <rclcpp/rclcpp.hpp>

1.添加find_package。完整版cMakeList.txt。3.添加target。

2023-06-05 08:54:06 2733 2

原创 json字段解析--使用c++的方式

使用C++解析websocket中下发的json字段

2022-08-18 14:09:00 257

原创 ubuntu 下 libwebsockets安装和编译

1.libwebsockets官网:https://libwebsockets.org/2.github下载地址:https://github.com/warmcat/libwebsockets3.ubuntu 18.04下编译:解压之后放在桌面上/home/Desktop/libwebsockets-maincd /home/Desktop/libwebsockets-mainmkdirbuildcdbuildcmake..make-j8sudo...

2021-07-27 16:10:27 1061

原创 windows环境下配置libwebsocket

1. 下载cmake:下载链接:https://cmake.org/download/安装版本:cmake-3.21.0-windows-x86_64.msi2.下载openssl:下载链接:https://slproweb.com/products/Win32OpenSSL.html安装版本:Win64 OpenSSL v1.1.1k Light MSI3. 安装cmake和openssl4.下载libwebsocket源代码https://github.c

2021-07-25 21:04:58 2133

原创 地平线horizon x3开发板运行方式

接上一篇文章,在deploy目录下会有很多运行的脚本root@x3sdbx3-samsung2G-3200:/userdata/deploy# lsconfigs lib models multitask_perception run_body.sh run_face_recog.sh start_nginx.sh webservice执行脚本:root@x...

2021-07-23 13:32:19 1154 1

原创 地平线horizon x3开发板调试相关记录

1.Ubuntu下进入板子串口系统:ping 192.168.1.10 //查看开发板网络是否是通的ssh [email protected].开发板代码结构:root@x3sdbx3-samsung2G-3200:/userdata# lscache deploy log lost+found web相关的资源都在deploy目录下,可以自己创建脚本进行测试...

2021-07-23 13:19:58 720

原创 算法练习--字符串反转(字符串)

题目描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)示例1输入“abcd”返回值“dcba”class Solution {public: /** * 反转字符串 * @param str string字符串 * @return string字符串 */ string solve(string str) { // write code here int k

2021-05-06 21:36:52 160

原创 排序排序总结

0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度: 一个算法执行所耗费的时间。空间复杂度:运行完一个程序所需内存的大小。图片名词解释:n: 数据规模k: “桶”的个数In.

2021-05-05 00:29:16 138

原创 C++知识点复习 ---- C++中的类型识别

1.类型识别在面向对象中可能出现下面的情况:(1)基类指针指向子类对象(2)基类引用成为子类对象的别名C++引入了面向对象的特性,赋值兼容性原则让以上实现完全合法,子类对象完全可以当做父类对象来使用。静态类型:变量(对象)自身的类型动态类型:指针(引用)所指向对象的实际类型void test(Base* b) { /*危险的转换方式*/ Derived* d = static_cast<Derived*>(b);}基类指针是否可以强制类型转换为子类指针取

2021-04-17 15:41:02 296

原创 C++知识点复习 ---- 异常处理

一.C语言中的异常处理1.异常的概念:程序在运行过程中可能产生异常异常(Exception)与Bug的区别(1) 异常是程序运行时可预料的执行分支(2)Bug是程序中的错误,是不被预期的运行方式2.异常(Exception)与Bug的对比:异常:运行时产生除0的情况需要打开的外部文件不存在数组访问时越界Bug:使用野指针堆数组使用结束后未释放选择排序无法处理长度为0 的数组3.异常处理的方式C语言经典处理方式:if…else…void func() {

2021-04-15 23:59:57 267

原创 C++知识点复习 ---- 单例类模板

1.单例模式(1)产生的背景需求的提出:在构造设计时,某些类在整个系统生命期中最多只能有一个对象存在(Single Instance).(2)思路如何定义一个类,使得这个类最多只能创建一个对象? 单例模式要控制类的对象数目,必须对外隐藏构造函数。设计思路:将构造函数的访问属性设置为private定义instance并初始化为NULL当需要使用对象时,访问instance的值(1)空值:创建对象,并用instance标记(2)非空值:返回instance标记的对象单例模式示例:

2021-04-14 20:57:40 242

原创 C++知识点复习 ---- 数组类模板

1.数据型模板参数模板参数可以是数值型参数(非类型参数)template <typename T, int N>void func(){ T a[N]; //使用模板参数定义局部数组}---->func<double, 10>();数值型模板参数的限制:变量不能作为模板参数浮点数不能作为模板参数类对象不能作为模板参数本质:模板参数是在编译阶段被处理的单元,因此,在编译阶段必须准确无误的唯一确定数据型模板参数示例:#include&l

2021-04-11 22:51:59 174

原创 C++知识点复习 ---- 模板相关

一. 函数模板的概念和意义1.问题引入:C++中有几种交换变量的方法? 定义宏代码块 VS 定义函数代码示例:#include <iostream>#include<string>using namespace std;#define SWAP(t,a,b) \ //定义宏do \{ \ t c = a; \ a = b; \ b

2021-04-11 16:41:39 136

原创 C++知识点复习 ---- 对象模型分析

1.回归本质class是一种特殊的struct:在内存中class依旧可以看做变量的集合class与struct遵循相同的内存对齐规则class中的成员函数与成员变量是分开存放的每个对象由独立的成员变量所有对象共享类中的成员函数对象内存布局示例:#include <iostream>#include <string>using namespace std;class A{ int i; int j; char c; double

2021-03-31 17:28:36 96

原创 C++知识点复习 ---- 多态

一. 多态的概念和意义1.函数重写回顾父类中被重写的函数依然会继承给子类子类中重写的函数将覆盖父类中的函数通过作用域分辨符(::)可以访问到父类中的函数Child c;Parent* p = &c;c.Parent::print(); //从父类中继承c.print(); //在子类中重写p->print(); //父类中定义2.多态的概念和意义面向对象中期望的行为:(1)根据实际的对象类型判断如何调用重写函数(2)父类指针(引用)指向父类对象则调用父类中定义

2021-03-30 22:47:03 138

原创 C++知识点复习 ---- 继承

一.继承的概念和意义1.组合关系组合关系:整体与部分的关系组合关系示例:#include <iostream>#include <string>using namespace std;class Memory{public: Memory() { cout << "Memory()" << endl; } ~Memory() { cout << "~Mem

2021-03-30 17:54:46 124

原创 C++知识点复习 ---- 类型转换函数

一.C语言中的类型转换1.标准数据类型之间会进行隐士的类型安全转换2.转换规则如下:二.普通类型与类类型之间转换普通类型到类类型示例:#include<iostream>#include<string>using namespace std;class Test{public: Test() { } Test(int i) { }};int main(){ Test t; //t=(Test)5;Test类中没有定义构造函数的时候报错 /

2021-03-24 08:23:08 282 2

原创 C++知识点复习 ---- 智能指针分析

一. 指针存在的问题智能指针引入为了解决的问题:内存泄漏动态申请堆空间,用完后不归还C++语言中没有垃圾回收的机制指针无法控制所指堆空间的生命周期示例:#include <iostream>#include <string>using namespace std;class Test{ int i;public: Test(int i) { this->i = i; } int value()

2021-03-22 15:24:27 152

原创 C++知识点复习 ---- 函数对象分析

1.客户需求编写一个函数函数可以获得斐波那契数列每项的值每调用一次返回一个值函数可根据需要重复使用for(int i = 0; i < 7; i++){cout << fib() << endl;}示例:#include<iostream>#include<string>using namespace std;int fib(){ static int a0 = 0; static int a1 = 1;

2021-03-17 08:12:41 98

原创 C++知识点复习 ---- C++中的字符串类

一. 历史遗留问题C语言不支持真正意义上的字符串C语言字符串数组和一组函数实现字符串操作C语言不支持自定义类型,因此无法获得字符串类型解决方案:从C到C++的进化过程引入了自定义类型在C++中可以通过类完成字符串类型的定义问题:C++中的原生类型系统是否包含字符串类型?二. 标准库中的字符串类C++语言直接支持C语言的所有概念C++语言中没有原生的字符串类型C++标准库提供了string类型(1)string直接支持字符串连接(2)string直接支持字符串的大小比较

2021-03-16 22:11:13 222

原创 C++知识点复习 ---- C++标准库

一. 引入重载左移操作符操作符 << 的原生意义是按位左移,例如:1 << 2;其意义是将整数1按位左移2位,即:0000 0001 --> 0000 0100重载左移操作符,将变量或常量左移到一个对象中示例:#include <stdio.h>char endl = '\n';class Console{private: /* data */public: Console& operator &lt

2021-03-15 23:16:14 131

原创 C++知识点复习 ---- 重载相关

一.函数重载函数重载的本质为相互独立的不同函数C++中通过函数名和函数参数确定函数调用无法直接通过函数名得到重载函数的入口地址函数重载必然发生在同一个作用域中二.类中的重载类中的成员函数可以进行重载构造函数的重载普通成员函数的重载静态成员函数的重载问题:全局函数,普通成员函数以及静态成员函数之间是否可以构成重载? 可以小结:类的成员函数之间可以进行重载;重载必须发生在同一个作用域中;全局函数和成员函数不能构成重载关系;//不在一个作用域重载的意义在于扩展已经存在的功能

2021-03-15 21:48:09 187

原创 C++知识点复习 ---- 二阶构造模式

构造函数:类的构造函数用于对象的初始化构造函数与类同名并且没有返回值构造函数在对象定义时自动被调用提出问题:1.如何判断构造函数的执行结果?2.在构造函数中执行return语句会发生什么?3.构造函数执行结束是否意味着对象构造成功?异常的构造函数:#include <iostream>using namespace std;class Test{ int mi; int mj;public: Test(int i, int j) {

2021-03-14 15:10:17 108

原创 C++知识点复习 ---- 类的静态成员和静态函数

新的需求:统计在程序运行期间某个类的对象数目保证程序的安全性(不能使用全局变量)随时可以获取当前对象的数目成员变量的回顾:通过对象名能够访问 public 成员变量每个对象的成员变量都是专属的成员变量不能在对象之间共享静态成员变量:在C++中可以定义静态成员变量静态成员变量属于整个类所有静态成员变量的生命期不依赖于任何对象可以通过类名直接访问公有静态成员变量所有对象共享类的静态成员变量可以通过对象名访问公有静态成员变量静态成员变量的特性:在定义时直接通过 static 关键字

2021-03-14 13:46:50 143

原创 C++知识点复习 ---- 对象的构造顺序和对象的析构

一.对象的构造顺序(1)局部对象的构造顺序依赖于程序的执行流(2)堆对象的构造顺序依赖于 new 的使用顺序(3)全局对象的构造顺序是不确定的二.析构函数析构函数:C++的类中可以定义一个特殊的清理函数,这个特殊的清理函数叫做析构函数析构函数的功能与构造函数相反定义:~className()析构函数的定义准则:当类中自定义了构造函数,并且构造函数中使用了系统资源,如内存申请,文件打开等,则需要自定义析构函数总结:析构函数没有参数也没有返回值类型声明析构函数在对象销毁时自动被调用析

2021-03-07 23:08:19 463

原创 C++知识点复习 ---- 初始化列表的使用

问题引入:类中是否可以定义const成员?下面的类定义是否合法?如果合法,ci的值是什么,存储在哪里?示例:#include <stdio.h> class Test {private: const int ci;public: Test() : ci(10) //初始化列表的使用 { //ci = 10; //只读变量不能出现在赋值符号左边 } int getCI() { return ci;

2021-03-07 21:33:56 82

原创 C++知识点复习 ---- 对象的构造 / 拷贝

构造函数C++中可以定义与类名相同的特殊成员函数,这种特殊的成员函数叫做构造函数。构造没有任何返回类型的声明。构造函数在对象定义时自动被调用。构造函数的调用:(1)一般情况下,构造函数在对象定义时被自动调用(2)一些特殊情况下,需要手工调用构造函数举例如下:#include <stdio.h>class Test{private: int m_value;public: Test() { printf("Test()\n");

2021-03-07 14:23:57 155

原创 C++知识点复习 ---- 引用

关于引用的疑问:(1)指针是一个变量值为一个内存地址,不需要初始化,可以保存不同的地址通过指针可以访问对应内存地址中的值指针可以被const修饰成常量或者只读变量(2)引用只是一个变量的新名字对引用的操作( 赋值,取地址等)都会传递到代表的变量上const引用使其代表的变量具有只读属性引用必须在定义时初始化,之后无法代表其他变量(3)从使用C++语言的角度来看引用与指针没有任何关系引用是变量的新名字,操作引用就是操作对应的变量(4)从C++编译器的角度来看为了支持新概

2021-03-04 22:42:56 99

原创 C++知识点复习 ---- const / volatile

C语言中的const 和 volatileconst只读变量的注意事项:A. const修饰的变量是只读的,本质还是变量B. const修饰的局部变量在栈上分配空间C. const只在编译期有用,在运行期无用说明:const修饰的变量不是真的常量,它只是告诉编译器该变量不能出现在赋值符号的左边D. const 全局变量的分歧:(1)对于 const 修饰的局部变量在栈上分配内存,其值还是可以更改的。(2)对于 const 修饰的全局变量:标准 C 语言编译器不会将 const 修饰的全局

2021-02-28 22:54:36 237

原创 C++知识点复习 ---- 类型转换

C方式的强制类型转换(Type)(Expression)#include <stdio.h>typedef void(PF)(int);struct Point{ int x; int y;};int main(){ int v = 0x12345; PF* pf = (PF*)v; char c = char(v); Point* p = (Point*)v; pf(5); printf("p-

2021-02-28 15:48:49 181

原创 C++知识点复习 ---- 动态内存分配 / 命名空间

C++中的动态内存分配:(1)C++中通过new关键字进行动态内存申请(2)C++中的动态内存申请是基于类型进行的(3)delete关键字用于内存释放变量申请:Type* pointer = new Type;//…delete pointer;数组申请:Type* pointer = new Type[N];//…delete[] pointer;示例:#include <stdio.h>int main(){ int* p = new int;

2021-02-27 23:49:12 101

原创 C++知识点复习 ---- 函数重载

C++知识点复习 ---- 函数重载重载 :同一个标识符在不同的上下文有不同的意义函数重载:(1)用同一个函数名定义不同的函数(2)当函数名和不同参数搭配时函数的含义不同函数重载至少满足下面的一个条件:(1)参数个数不同(2)参数类型不同(3)参数顺序不同编译器调用重载函数的准则:(1)将所有的同名函数作为候选者(2)尝试寻找可行的候选函数精确匹配实参通过默认参数能够匹配实参通过默认类型转换匹配实参(3)匹配失败的情况最终寻找到的候选函数不唯一,则出现二义性,编译失败

2021-02-27 22:20:55 220

原创 CodeBlocks下载安装与SDL下载使用配置教程

codeblocks官网:http://www.codeblocks.org/SDL官网:http://www.libsdl.org/1.codecblocks的安装与配置codeblocks进入官网主页之后,点击download下载:直接使用选择二进制模式:如果需要研究源码,可以使用下面的两种源码模式:Download the source codeRetrieve source code from SVN使用windows版本的话下载方式如下:下载之后选择安装:选择自己需

2021-01-05 19:04:17 1788

async-web-server-cpp ros2

async_web_server_cpp在ros2环境下的源代码包,下载可以直接编译使用,详细用法可以参看相关文章

2023-08-14

async-web-server-cpp ros1

async_web_server_cpp在ros1环境下的源代码包,下载可以直接编译使用,详细用法可以参看相关文章

2023-08-14

视频文件分割及合并工具

分割大型文件,分割log,视频分割

2021-03-11

TS推流工具,操作简单方便直接使用

ts推流工具,udp推流工具,内附实用的使用说明书.....

2018-09-20

vs2010百度云链接

vs2010旗舰内置破解版,百度云盘链接,镜像直接下载安装

2018-09-20

WinSend_1.20.exe

WinSend推流播放工具

2017-06-15

wireshak-win64-1.10.1纯净版

window64位 的wireshark 1.10.1版工具

2017-05-27

空空如也

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

TA关注的人

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