自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ubuntu 20.04 安装ros update报错

E: The repository 'http://mirrors.ustc.edu.cn/ros/ubuntu kylin Release' does not have a Release file.

2022-12-01 13:33:51 783

原创 【bazel】调用yaml的so库

基于bazel编译c++,调用yaml生成的so库

2022-10-04 23:04:11 1090

原创 【bazel】调用yaml库

bazel 调用第三方库

2022-10-03 00:25:47 825

原创 apollo 7.0 编译报错zlib-1.2.11.tar下载失败

apollo 7.0编译

2022-08-10 11:00:47 1427

原创 Xavier安装ros环境(保姆级教学,一遍成功)

arm板安装ros环境

2022-07-25 15:30:55 3824

原创 ros tf 发布和订阅demo(附c++代码)

发布demo代码如下:订阅demo代码如下:

2022-06-03 17:22:11 2477

原创 四元数,旋转矩阵,欧拉角互转(python)

四元数,旋转矩阵,欧拉角通过python代码互相转换

2022-06-03 17:04:52 4107

原创 解决vscode c++ 无法跳转代码(区别于大部分网上的解决方案)

首先,请先确保你的vscode 安装了以下两个个插件:C++ Intellisense 用于跳转代码。然后,说一下我为什么会出现vscode c++的代码无法跳转的问题,本人有两个电脑,经常会使用两台电脑远程到服务器调试代码,结果出现了vscode c++的代码无法跳转的问题,甚至很多小插件都需要重新加载。其实核心问题是:本地的插件版本和服务器的插件版本不一致!!!!当你意识到这个问题,其实类似的问题全部都迎刃而解了。举例子:以下是我服务器安装的一些插件,并且需要我.

2022-05-26 16:36:30 8472 1

原创 ubuntu18.04 安装搜狗输入法

先说一下问题,我重装了Ubuntu18.04系统,相当于是第一次安装搜狗输入法,去官网下载linux最新的安装包,按照网上的教程全部配置了一遍,然后发现打不了中文。最终我在这篇文章下,换了一个搜狗输入法的安装包,没用官网最新的。不要下载官网最新的!!安装搜狗输入法可以参考这个链接Ubuntu18.04安装搜狗输入法-问题全讲解_幻心矢的博客-优快云博客_ubuntu18.04 安装搜狗输入法我这里直接挂一下下载搜狗输入法的包复制到浏览器就能下载http://cdn2.ime.so

2022-04-29 14:07:12 1109

原创 结构体嵌套空指针,空指针强制转其它类型并访问成员变量

#include <iostream>using namespace std;struct test1 { void * a1;};struct test2{ int a2 = 10; int a3 = 20;};int main() { //结构体和结构体成员变量中的指针需要分别初始化 test1 h1; //初始化结构体test1 h1.a1 = new test2; //初始化空指针a1分配内存的大小为结构体test2所占.

2022-02-10 16:49:36 1066 2

原创 结构体构造函数学习

结构体是特殊的 类。参考链接:结构体和类的区别_u011555996的博客-优快云博客_结构体和类的区别看如下代码:#include <iostream>using namespace std;//使用默认构造函数 struct student { int id; char gender;}pig; //能不经初始化就定义变量 int main(){ pig = {23,'F'};//使用该语句必须整体赋值,不能单独赋值 cout <<

2021-11-15 16:23:27 581

原创 关键字explicit学习

1.初始化表达式在了解explicit之前,看一段代码#include <iostream>using namespace std;class Test1{public : Test1(int a1):a(a1){}private: int a;};int main(){ Test1 t1 = 12; Test1 t2(13); return 0;}这段代码中Test1构造函数的声明用的冒号表示的是初始化表达式。参考连接:C++.

2021-11-15 14:51:16 1828

原创 this学习

C++ this指针详解_C语言中文网 (biancheng.net)

2021-11-11 16:26:26 273

原创 构造函数重载

#include <iostream>#include <vector>#include <algorithm>#include <string>#include <memory>using namespace std;//测试构造函数重载class test1 { public: test1 (int a, int b) { cout << "a: " <<.

2021-11-11 15:15:31 183

原创 智能指针学习

#include <iostream>#include <vector>#include <algorithm>#include <string>#include <memory>using namespace std;int main(){ shared_ptr<int> p1; cout << "p1: " << p1 << endl; //0 shared.

2021-11-11 15:09:07 565

原创 template<class, class>模板参数为两个类

#include <iostream>using namespace std;class IntClass { public: void IntFunction() { cout << "IntFunction" << endl; };};class DoubleClass { public: void DoubleFunction() { cout << "DoubleFunction.

2021-11-03 11:36:49 942

原创 引用的理解

#include <iostream>using namespace std;int main(){ //b作为a的引用,其值和地址和a一样。 int a = 10; int& b = a; cout << "a: " << &a << endl; cout << "b: " << b << endl; cout << "b: " << &b .

2021-11-03 10:36:09 166

原创 const成员函数

只能在类中使用const成员函数。class A { public: void test() const { cout << "123" << endl; };};int main(){ A a; a.test(); return 0; }

2021-11-02 16:54:25 119

原创 类模板的理解

创建一个比较大小的类,因为int和float数据类型不一样,要创建两个类来进行比较,代码如下图所示,可以使用类模板来创建一个功能相同,仅仅数据类型不同的类模板。#include <iostream>using namespace std;class Compare_float{ public : Compare_float(float a,float b) {x=a;y=b;} float max( ) {return (x>y)?x:y;}

2021-11-02 16:24:12 406

原创 函数模板和类模板的学习

#include <iostream>using namespace std;template <typename T>T add(const T & a, const T & b){ T c = a + b; return c;} //创建只有一个类型参数的函数模板template <typename T1, typename T2>T1 add2(const T1 & a, const T2 & b) {.

2021-11-02 11:47:56 302

原创 智能指针学习

参考链接看完这篇,别再说不会智能指针了 - 知乎

2021-11-02 09:19:23 127

原创 函数值传递,指针传递,引用传递

函数的值传递,指针传递,引用传递。int a = 10;//创建一个变量a,这里其实变量a的属性包含两部分,地址0x1234和值10;//可以把地址0x1234视为访问值10的一个接口。//如果要修改变量a的值可以通过直接访问地址和间接访问地址的方式修改值10直接访问地址修改值10,如下:a = 20;间接访问地址修改值10的方式如下:int * b = &a; //将a的地址存入到指针变量b中。(*b)++;//解引用获取a的地址指向的值10,然后进行++操作。

2021-10-28 15:23:34 148

原创 c++一行代码太长

对于语句,直接回车换行就可以了。如果定义宏,则要用“\”作为“续行符”

2021-10-28 11:09:45 2114

原创 设备ip字符串操作

#include <iostream>#include <string>int main(){ std::string ipA = "192.168.11.200"; //find_last_of 字符串从后往前查找与关键字最近的值,输出该值所在的位置数 //本文从后往前最近的 “ . ”在第10的位置,pos = 10 auto const pos = ipA.find_last_of('.'); //substr 字符串从输入的起始.

2021-10-27 10:42:13 741

原创 函数传参写法

#include <iostream>bool test(int a, int &b) { b = a + 5; return true;}int main(){ int e = 20; int c = 15; test(e, c); std::cout << "c: " << c << std::endl; return 0;}b作为形参传入的同时也被当做了输出。.

2021-10-27 09:59:41 135

原创 tmux使用

nvidia启动节点tmux下面启动节点ws_livox的节点要在ws_livox下面source一下。其它的在ros——traffic——arm下面source一下tmux new –s 1创建一个名字为1的session在名为1的session下创建新的窗口ctrl +B 松开 再按c在名为1的session下切换窗口ctrl +B 松开再按1或者2, 按相应数字键,就可以切换到相应的窗口了ctrl + B 松开再按d 使tmux在后台运行,tmux

2021-09-27 11:42:25 123

原创 docker学习

在特定文件夹下创建一个dockerdocker run -d -i -t --name roy -v /home/program/GpsMapProcess:/GpsMapProcess 0321942368c0 /bin/bash/home/program/GpsMapProcess:/GpsMapProcess将本地目录映射到docker目录0321942368c0使用的镜像--name roydocker名字为roy...

2021-09-14 17:32:57 100

原创 动态库讲的不错

Linux 动态链接库(.so)的使用 - 旭东的博客 - 博客园

2021-09-14 09:11:11 97

原创 c++读取yaml文件

1. 安装yaml库安装yaml-cppyaml-cpp 是一个开源库,地址在 github 上,https://github.com/jbeder/yaml-cppyaml-cpp 默认构建的就是静态库,也就是 unix 类系统下的 .a 文件,如果你想构建动态库的话,就需要在 cmake 时指定。下载解压之后mkdir buildcd buildcmake -DYAML_BUILD_SHARED_LIBS=ON ..编译成功后,会生成库文件,你只需要将库文件和头文件拷贝到.

2021-09-14 08:47:56 9407 5

原创 c++调用.so库

1. g++进行编译并调用.so库目录/home/test_ws/src/文件1:test1.cpp#include <iostream>extern "C" void test(){ std::cout << "this is a test log" << std::endl;}文件2:main.cppextern "C" void test();int main(){ test();}g++ -std=c

2021-09-07 14:06:43 6043

原创 内网使用本机时间作为ntp服务端同步

首先下载ntpsudo apt install ntp修改配置文件sudo vim /etc/ntp.conf加粗的文字要注释掉# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for# more information.#pool 0.ubunt.

2021-09-05 22:46:20 662

原创 Livox 激光雷达时间同步

官方文档PTP没成功,用ptpd成功了,大致流程。ifconfig 查看网口 比如网口是 eno1ethtool -Teno1如果出现`hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)``hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE)``hardware-recive (SOF_TIMESTAMPING_RX_HARDWARE)`说明可以进行硬件时间同步。sudo apt...

2021-09-02 16:21:18 6290 7

原创 虚函数的举例

父类和子类的同名同形参的函数,使用指针调用或者是直接调用,如果该函数在父类不是虚函数,那么无论那种方式调用,父类的同名函数都会覆盖子类。#include <iostream> using namespace std; class A { public: void print() { cout << "this is A" << endl; }};class B : ..

2021-09-01 09:26:00 384 1

原创 c++ 类学习

class 类名{ //访问修饰符有以下三个 public: //公共成员 protected: //保护成员 private: //私有成员 };

2021-08-31 10:21:04 100

原创 C++:alignas关键字的作用

https://www.jianshu.com/p/ce2e52719b4ahttps://blog.youkuaiyun.com/audi2/article/details/39103733

2021-08-30 15:17:13 394

原创 自定义命名空间的嵌套

举例创建一个包含学校信息的项目,以命名空间命名。框架如下1. 学校姓名:希望小学1.1 一年级一班1.1.1 小红1.1.2 小明1.1.3 小刚1.2一年级二班1.3一年级三班1.4一年级四班#include <iostream>#include <stdlib.h>namespace xiwangSchool{ void nameCout() { std::cout << "this...

2021-08-30 15:10:37 134

原创 ubuntu18.04安装opencv3.4.5(坑真多)

这里只安装了opencv-3.4.5没有安装opencv_contrib3.4.5。下面介绍安装流程:opencv下载官网:https://opencv.org/releases.html安装依赖包sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get in

2021-08-20 16:05:12 1370

原创 ros bag包指定话题转pcd格式

rosrun pcl_ros bag_to_pcd 2019-01-25-04-01-39.bag /sensor/lidar16/left/pointcloud pcd2019-01-25-04-01-39.bag (bag包名字)/sensor/lidar16/left/pointcloud(话题)pcd(将bag包转成pcd的文件存在名为pcd的文件夹下)

2021-07-25 19:22:33 930

原创 C++安装库

这里以安装libLAS为例,去github下载文件https://github.com/libLAS/libLAS在该文件下输入以下指令mkdir buildcd buildcmake ..makesudo make install主要流程就是上面几步。测试是否安装成功参考以下链接https://blog.youkuaiyun.com/weixin_43779943/article/details/102639516...

2021-07-25 19:06:10 1065

原创 c++请输入任意键继续

Windows系统用system("pause")linux用cin.get()这里需要注意,如果之前没有用过cin.get()只需要一个cin.get()就行,如果之前用过cin.get(),必须输入两边cin.get()才能有效果。如下方代码所示 cout << "请输入年龄: " << endl; int age = 0; cin >> age; abs->personArray[

2021-07-04 13:27:18 2690

空空如也

空空如也

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

TA关注的人

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