- 博客(54)
- 收藏
- 关注
原创 Matplotlib error: No such file or directory: ‘latex‘: ‘latex‘
Matplotlib error: No such file or directory: ‘latex’: ‘latex’sudo apt install texlive-fonts-recommended texlive-fonts-extrasudo apt install dvipng链接:Matplotlib error: No such file or directory: ‘latex’: ‘latex’
2022-03-07 22:22:57
1087
1
原创 g2o编译报错
视觉slam g2o 编译出现 Cmake Error:By not providing “FindG2O.cmake” in CMAKE_MODULE_PATH错误
2021-01-16 17:43:33
361
原创 智能指针与构造函数调用
#include <memory>class FrontEndFlow{public: FrontEndFlow();};FrontEndFlow::FrontEndFlow(){ std::cout << "调用了构造函数!" << std::endl;}std::shared_ptr<FrontEndFlow> _front_end_flow_ptr;int main(int argc,char** argv){
2020-10-27 09:39:32
811
原创 第十二节 std::async深入谈
一、std::async深入谈1.1 std::async参数详述async用来创建一个异步任务#include <thread>#include <future>int mythread(){ cout << "mythread() start threadid = " << std::this_thread::get_id() << endl; return 1;}int main(){ cout
2020-09-16 17:45:19
511
原创 第十一节std::atomic原子操作
一、原子操作1.1原子操作概念例子互斥量:多线程编程中保护共享数据:锁,操作共享数据,开锁有两个线程,对一个变量进行操作,这个线程读,另一个线程往变量中写值。int atomvalue = 5;读线程A:int tmpvalue = atomvalue;//atomvalue代表的是多个线程之间要共享的变量写线程B:atomvalue = 6;结果:读出一个不可预料的中间值原子操作:可以把原子操作理解为一种:不需要用到互斥量加锁(无锁)技术的多线程编程方式多线程中不会被打断的程
2020-09-16 09:38:04
9828
1
原创 第十节 future其他成员函数、shared_future、atomic
一、std::future的其他成员函数引言#include <thread>#include <future>int mythread(){ cout << "mythread() start" << "threadid = " << std::this_thread::get_id() << endl; std::chrono::milliseconds dura(5000); std::this
2020-09-16 09:29:43
185
原创 async、future、packaged_task、promise
一、std::async、std::future创建后台任务并返回值希望线程返回一个结果;std::async是个函数模板,用来启动一个异步任务,启动起来一个异步任务之后,返回一个std::future对象“启动一个异步任务”:自动创建一个线程并开始执行对应的线程入口函数,它返回一个std::future对象,这个future对象里边就有含有线程入口函数锁返回的结果(线程返回的结果),我们可以通过调用future对象的成员函数get()来获取结果;“future”:将来的意思,有人也称呼std::
2020-09-14 22:55:12
100
原创 condition_variable、wait、notify_one、notify_all
一、条件变量std::condition_variable、wait()、notify_one()1.1 std::condition_variable线程A中:等待一个条件满足,之后执行;线程B中:线程B满足条件之后触发线程A。std::condition_variable my_cond; //生成一个条件对象class A{public: void inMsgRecvQueue() // 线程B入口函数 { for (int i = 0; i < 100000; ++i
2020-09-14 21:01:54
230
原创 单例设计模式共享数据分析、解决、call_once
引言互斥量是最通用的保护共享数据的机制,用起来不难,而且特别好用。当然也有其他保护共享数据的机制。一、设计模式大概谈“设计模式”:代码的一些写法(这些写法根常规写法不怎么一样):程序灵活,维护起来很方便,但是别人接管、阅读代码都会很痛苦;用“设计模式”理念写出来的代码是很晦涩的;老外应付特别大的项目的时候,把项目的开发经验、模块划分经验,总结成设计模式(现有开发需求,后又理论总结和整理)设计模式拿到中国来,不太一样,拿着一个程序(项目)往设计模式上套,一个小小的项目,非要弄几个设计模式进去,本
2020-09-13 22:53:30
236
原创 unique_lock详解
一、unique_lock取代lock_guardunique_lock是个类模板,工作中,一般lock_guard(推荐使用);lock_guard取代了mutex的lock()和unlock()。unique_lock比lock_guard灵活很多灵活很多;效率上差一点,内存占用多一点。std::lock_guard<std::mutex> sbguard(my_mutex);直接换成std::unique_lock<std::mutex> sbguard(my_mute
2020-09-13 21:06:11
1019
原创 多线程共享数据的保护+互斥量概念、用法、死锁演示及解决详解(std::lock()、std::adopt_lock)
#include <list>#include <thread>class A{public: //把收到的消息(玩家命令)入到一个队列的线程 void inMsgRecvQueue() { for (int i = 0;i < 100000;++i) { cout << "inMsgRecvQueue()执行,插入一个元素" << i << endl;
2020-09-09 22:52:48
1094
1
原创 阿波罗定位信息
modules/common/proto/header.proto:message Header { // Message publishing time in seconds. optional double timestamp_sec = 1; // Module name. optional string module_name = 2; // Sequence number for each message. Each module maintains its own co
2020-08-24 23:29:31
435
原创 读RTK数据遇到的一些问题
ERROR: (08-19 16:25:32.010) /apollo/RS_SDK_V1.2/rs_read_RTK/BUILD:22:1: Linking of rule '//RS_SDK_V1.2/rs_read_RTK:read_RTK' failed (Exit 1).bazel-out/local-fastbuild/bin/RS_SDK_V1.2/rs_read_RTK/_objs/read_RTK/RS_SDK_V1.2/rs_read_RTK/src/read_RTK.pic.o: I
2020-08-20 02:41:07
1057
原创 Apollo下的Cyber RT通信
目录结构: |-- BUILD|-- proto| |-- BUILD| `-- examples.proto`-- talker.ccproto文件下:BUILD(bazel配置proto)package(default_visibility = ["//visibility:public"])#生成两种库,examples_cc_proto和examples_proto#依赖中冒号是什么意思cc_proto_library( name = "examples_
2020-08-19 14:11:05
1019
原创 bazel一些用法
1.编译东西 要在根目录下,和WORKSPACE在同一级例如,对于bazelbuild/examples而BUILD文件一般与源文件并列examples└── cpp-tutorial ├──stage1 │ └── main │ ├── BUILD │ ├── hello-world.cc │ └── WORKSPACE进入到cpp-tutorial/stage1目录下(要进入到这个目录后可以直接看到WORKSPACE),然后运行
2020-08-16 16:05:35
2017
原创 如何从Gihub仓库中下载单个文件
如何从 GitHub 上下载单个文件夹?将 /tree/master/ 换成 /trunk/ .svn checkout https://github.com/…
2020-08-13 19:54:55
252
原创 Ubuntu安装Typora查看md文件
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -# add Typora's repositorysudo add-apt-repository 'deb https://typora.io/linux ./'sudo apt-get update# install typorasudo apt-get install typora
2020-08-10 21:34:19
939
原创 智能指针学习
智能指针:1.用起来像指针2.会自己对资源进行释放#include <iostream>using namespace std;class CStudent{public: CStudent() {} void test() { cout << "CStudent" << endl; }private: char* m_pszBuf; int m_nSex;};int main(in
2020-08-10 21:26:18
115
原创 ch13报错
../../lib/libmyslam.so:对‘myslam::Config::config_’未定义的引用collect2: error: ld returned 1 exit statusapp/CMakeFiles/run_kitti_stereo.dir/build.make:151: recipe for target '../bin/run_kitti_stereo' failedmake[2]: *** [../bin/run_kitti_stereo] Error 1CMakeFi
2020-08-09 11:56:44
300
原创 ch13 cmake
概括:一.总的CMakeLists.txt指定可执行文件存放目录为ch13/bin:set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)指定生成的库存放目录为ch13/lib:set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)找第三方库,并包含它们的头文件把第三方库文件的库重命名成THIRD_PARTY_LIBS:set(THIRD_PARTY_LIBS …)不知道干啥:似乎是告诉工程
2020-08-09 11:51:32
533
原创 vscode配置
C/C++: Edit Configurations(JSON){ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", ], "defines": [], "compilerPath": "/usr/bin/gcc",
2020-08-07 09:45:29
132
原创 Eigen
template cast并用由于cast()是模板成员函数,因此在模板代码中必须在其前面加上template关键字:Eigen c++ casting
2020-08-06 11:42:01
621
原创 ceres常见错误
步骤:1.构建代价函数的计算模型2.构建最小二乘寻优问题 ceres::Problem3.配置并运行求解器 ceres::Solver::Options ceres::Solver::Summary常见错误1.仿函数后必须有cosnt2.仿函数中求参差注意要用上模板类T3.仿函数要return true;4.构建最小二乘寻优问题AutoDiffFunction前一定要有newceres::CostFunction* cost_function =new ceres::Auto
2020-07-20 00:44:35
736
原创 xacro宏中*参数块用法
7.MacrosThe main feature of xacro is its support for macros. Define macros with the macro tag, and specify the macro name and the list of parameters. The list of parameters should be whitespace separ...
2020-05-05 21:27:17
1353
原创 Husky Jackal仿真
Husky官方教程:HUSKY UGV TUTORIALS$ sudo apt-get install ros-kinetic-husky-simulator$ roslaunch husky_gazebo husky_empty_world.launch$ roslaunch husky_gazebo husky_playpen.launchGitHub:husky/husky G...
2020-05-02 14:04:50
920
原创 ROS URDF use_gui
[WARN] [1588255172.551253]: The ‘use_gui’ parameter was specified, which is deprecated. We’ll attempt to find and run the GUI, but if this fails you should install the ‘joint_state_publisher_gui’ pac...
2020-05-01 00:45:12
661
原创 loam讲解资料整理
LOAM_velodyne学习(一)LOAM_velodyne学习(二)LOAM_velodyne学习(三)LOAM_velodyne学习(四)其他资料见https://blog.csdn.net/HelloJinYe/article/details/102709990
2020-04-24 10:57:49
527
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人