自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 ROS向节点传递参数的方法总结(rosrun,launch) + (参数服务器,main函数参数)

0. 写在最前面ROS的节点有很多中调用方式,包括rosrun,launch,直接运行等,向节点内传递参数的方式也有很多,在此做个总结。左侧专栏还在更新其他ROS实用技巧哦,关注一波?1. rosrun + 参数服务器传递ros::init(argc, argv, "imu2txt");ros::NodeHandle nh("~");std::string file_name;nh....

2019-03-22 19:49:11 5030 2

原创 如何在github pages中创建自己的Jekyll博客并绑定域名(2020-01-15)

最终效果:https://haoqchen.site如果喜欢可以直接使用我修改后的主题,github地址https://github.com/HaoQChen/HaoQChen.github.io但是请一定要将我的信息替换成你自己的,另外请不要保留我的博客。主体来源于:Hux Blog跟着这个博客教程走:如何快速搭建自己的github.io博客同时受到了这个博客的很大帮助:利用 GitH...

2018-11-29 11:04:18 384

原创 C++性能之战(1)--深入到汇编看++i、i++、i+=1、i=i+1的区别

0. 写在最前面希望大家收藏:本文持续更新地址:https://haoqchen.site/2018/10/15/difference-between-++i-i++-i+=1-i=i+1/面试被问到,上面这四个有什么区别。总结了一下,如果觉得还不错就点个赞,点个关注呗,博主会长期更新自己的学习和收获。目录0. 写在最前面1. 首先对于内置类型,对于现代编译器而言,这四...

2018-10-15 21:20:55 2916

原创 C++性能之战(7)--一些凑不成一篇文章的C++优化技巧

0. 写在最前面本文持续更新地址:https://haoqchen.site/2020/07/11/some-cpp-optimize/有一些比较小的优化技巧,凑不成一篇文章,在这里做个记录。如果觉得写得还不错,可以找我其他文章来看看哦~~~可以的话帮我github点个赞呗。你的Star是作者坚持下去的最大动力哦~~~1. Strength reduction译作强度折减?这是编译器的优化技术,现在一般的编译器都已经能够自动识别,不需要我们自己实现。但有些比较老,或者功能不强的编译器还是最好自己

2020-07-11 19:59:33 85

原创 C++性能之战(6)--优化代码逻辑

0. 写在最前面本文持续更新地址:https://haoqchen.site/2020/07/11/sequence-optimize/很多人写代码很随意,先把功能实现了,等性能不够再来刻意地优化,但其实很多优秀的习惯能帮助我们一步到位,写出更高效的代码。本文将总结遇到的一些例子,同一个功能,优化一下逻辑,换个写法性能就有很大提升的。如果觉得写得还不错,可以找我其他文章来看看哦~~~可以的话帮我github点个赞呗。你的Star是作者坚持下去的最大动力哦~~~1. 函数放在循环内VS函数放在循环

2020-07-11 16:05:38 46

原创 C++各种循环方式梳理及对比(2)高级循环

0. 写在最前面本文持续更新地址:https://haoqchen.site/2020/06/08/all-kind-of-loop-2/上一篇文章C++各种循环方式梳理及对比之深入到汇编看while和for深入到汇编对比了while和for的效率问题,这篇将集中在另外几种看上去比较高大上的循环写法。这些写法一般只是for或者while的一层封装,效率与自己实现的for循环相当,甚至要差。但他们优势在于简化了代码,并且减少了代码出错的可能。另外,C++17之后的algorithm库实现了并行运算的功能

2020-07-05 17:57:09 2972

原创 C++性能之战(5)--C++各种循环方式梳理及对比(1)深入到汇编看while和for

0. 写在最前面本文持续更新地址:https://haoqchen.site/2020/05/08/all-kind-of-loop-1/在学习的过程中发现C++有各种各样的循环方式,比如最基本的:forwhile后面增加的:std::for_each基于范围的for循环std::for_each_nstd::transform这些循环方式各有特点,调用方式也不同。本文将整理他们的异同,并尝试比较他们的效率。很多情况下,程序80%的时间会被20%的代码消耗,而这20%的代码多为循

2020-06-08 20:22:08 156

原创 如何配置VSCode来调试ROS节点

0. 写在最前面本文持续更新地址:https://haoqchen.site/2019/08/15/debug-ros-with-vscode/本文档介绍了如何用VSCode的Debug功能来调试ROS的CPP节点。ROS节点的调试一直非常麻烦,在此之前尝试过gdb、CLion、Qt插件,用起来都不太顺手,直到发现了VSCode的调试功能调试的好处有:bug导致的core dumped、segmentation fault等会停到相应的位置,方便查找想到什么,断点停那里就可以看到变量状态,不用增

2020-05-09 10:34:41 831

原创 C++性能之战(3)--emplace_back VS push_back

0. 写在最前面本文持续更新地址:https://haoqchen.site/2020/01/17/emplace_back-vs-push_back/std::vector中实现了这两个函数,主要作用都是向一个vector中增加一个元素,但它们其实有很多细微的差别。有很多人似乎对这两个函数有一些误解,找了一些资料,然后自己做了个实验总结了一下这两个函数的异同。如果觉得写得还不错,可以找我其...

2020-01-20 09:20:45 162

原创 C++性能之战(2)--double VS float

0. 写在最前面本文持续更新地址:https://haoqchen.site/2019/12/28/double-vs-float/首先说明,如果只是一两次的浮点运算,无脑使用double即可。下面主要针对需要大量浮点运算的情况做分析,比较float和double的优缺点。如无特殊说明,我的环境如下:系统:Ubuntu1604(64bit)编译器:g++ 5.4.0CPU:i7-477...

2020-01-05 21:29:05 190

原创 关于用户界面编写的几点建议

0. 写在最前面本文持续更新地址:https://haoqchen.site/2019/11/14/advice-for-ui/本文档介绍一些编写UI界面时的建议,主要是日常工作中发现的,能够帮助提升代码质量,提高用户体验的方法和技巧。我曾经用过Matlab、Qt、MFC、Labview来编写界面,都会涉及到与硬件的交互,个人感觉最强的是Qt。如果觉得写得还不错,可以找我其他文章来看看哦~~...

2019-12-28 20:40:58 121

原创 C++性能之战(0)--Linux时间相关函数总结

0. 写在最前面本文持续更新地址:https://haoqchen.site/2019/12/17/linux-time-summary/最近写程序涉及到时间相关的,包括当前时间呀,进程运行的时间差呀,线程某段程序的时间消耗呀等等。然后查了比较多Linux下的时间函数。发现每个函数之间都有或多或少的区别,应用场景很不一样。在此做个总结和记录。如无特殊说明,我的系统是Ubuntu1604(64...

2019-12-28 20:35:22 131

原创 用CPP控制rosbag record的运行和关闭

0. 写在最前面本文持续更新地址:https://haoqchen.site/2019/11/30/rosbag-run-and-kill-cpp/我们经常会用rosbag来录一些ROS的消息进行离线调试什么的。如果是在终端运行,输入命令,然后Ctrl + C就可以运行和关闭了,但如果我想在C++程序里面去控制什么时候录包,什么时候停止录包呢?这篇文章对以上的情形进行总结。如果觉得写得还不...

2019-11-30 19:28:56 471

原创 ROS Navigation之amcl源码解析(完全详解)

0. 写在最前面本文持续更新地址:https://haoqchen.site/2018/05/06/amcl-code/这篇文章记录下自己在阅读amcl源码过程中的一些理解,如有不妥,欢迎评论或私信。本文中所有代码因为篇幅等问题,都只给出主要部分,详细的自己下载下来对照着看。如果觉得写得还不错,就请收藏一下啦~~~也可以找一下我写的其他包的源码解读来看一下。关注一下我的专栏什么的。帮我g...

2019-11-16 19:06:24 825

原创 WARNING ** io features related to openni2 pcap png will be disabled

使用PCL编译某个ROS工程时出现这个waring:** WARNING ** io features related to openni2 will be disabled** WARNING ** io features related to pcap will be disabled** WARNING ** io features related to png will be dis...

2019-07-22 12:00:46 888 4

原创 rosrun rob[rospack] Warning: error while crawling boost::filesystem::status: Permission denied .gvfs

rosrun 用tab进行补全时出现了以下的错误:rosrun rob[rospack] Warning: error while crawling /home/your_name: boost::filesystem::status: Permission denied: "/home/your_name/.gvfs"解决办法:sudo umount ~/.gvfsrm -rf .gvf...

2019-06-24 20:28:33 262

原创 Qt编译错误undefined reference to `vtable for MainWindow'

0. 写在最前面我是用CMake来构建Qt工程时出现了这个错误,直观意思是MainWindow的虚表没有定义,猜测是某些子类没有构建成功,无法链接。我这里已经按照官方的意思把set(CMAKE_AUTORCC ON)set(CMAKE_AUTOUIC ON)set(CMAKE_AUTOMOC ON)set(CMAKE_PREFIX_PATH 、yourQtPath/5.10.1/gcc_...

2019-06-23 18:09:38 1227

原创 CSDN博客管理持续更新(包括阅读量统计、博客首尾替换)

0. 写在最前面日常用CSDN来记录和总结自己学习到的知识,写着写着越来越多的时候,就希望能有一些快捷的工具帮助自己管理。无奈CSDN提供的功能太少,网上找到的又都太老,只能自己动手写了。这些代码都托管到github上,有问题大家可以在issue中讨论,会持续更新。目前主要是在Linux下进行管理,等有时间了丰富下Windows下的github地址:https://github.com/Hao...

2019-05-09 21:53:50 408

原创 ROS多个工作空间存在同名包的BUG

0. 写在最前面为了测试方便,我有多个工作空间。不同工作空间会存在一些同名的包。按照官网教程的说法,只要source了setup就可以将当前工作空间设置为ROS顶层。一天在测试的时候发现,并不能通过修改.bashrc来修改当前活跃的工作空间。之前source的工作空间仍然存在,一直调用的是之前的工作空间的包。1. 问题描述查看你当前的ROS包路径:echo $ROS_PACKAGE_PA...

2019-03-28 16:06:52 983

原创 fatal err Eigen/Dense No such file or directory(unsupported/Eigen/FFT、Eigen/Core也是一样的道理)

0. 写在最前面自己在编译一个程序的时候遇到了这个问题。搜索网上的一些答案,很多都说得不详,或者解决办法不好。最后找到了stackoverflow的一个问题,终于解决了,在此分享一下,避免大家走弯路。有帮助到你的话点个赞或者关注呗~~~1. 解决办法究其原因,就是编译器找不到这个头文件了,首先要确保你已经安装了Eigen3.Eigen其实只是一个纯头文件的库,你直接安装放到include目...

2019-03-26 22:34:36 830

原创 同步Sublime Text配置

0. 写在最前面sublime是一款很好的跨平台代码编辑器,相信很多人都在用。但它的配置也是一件很烦的事,因此很多人都希望多个系统的sublime配置能够一样。本文就是讲解如何最正确地同步Sublime Text的配置。网上很多教程其实都是错的,官网给出了最好的同步建议:https://packagecontrol.io/docs/syncing不想看英文的我简单说下。1. 同步用户设置...

2019-03-21 18:27:20 147

原创 W: Failed to fetch http://packages.microsoft.com/repos/vscode/dists/stable/main/binary-amd64/Package

W: Failed to fetch http://packages.microsoft.com/repos/vscode/dists/stable/main/binary-amd64/Packages Hash Sum mismatchE: Some index files failed to download. They have been ignored, or old ones use...

2019-03-21 17:50:38 1834

原创 Ubuntu(Linux)下更新CMake,最安全的更新

0. 写在最前面本文将介绍一种在Ubuntu系统下快速升级CMake到指定版本的方法。之前找了很多方法,要么需要删除原来的版本,如果安装不成功会非常危险,之前的编译环境都没了。另外就是ppa的更新,我试了也不行。本文介绍的方法只需要下载安装包,然后改一下CMake的链接即可。你的Star是作者坚持下去的最大动力哦~~~各版本安装包下载地址:https://cmake.org/files/...

2019-03-13 09:21:42 873

原创 Ignoring Provides line with DepCompareOp for package gdb-minimal

运行sudo apt-get update时出现。参考https://askubuntu.com/questions/946402/apt-get-update-warning-ignoring-provides-line-with-depcompareop-for-package

2019-03-04 21:33:39 4479

原创 使用Remmina远程登录Ubuntu系统并实现文件共享(可实现类似Teamviewer功能)

0. 写在最前面最近teamviewer开始想要收费了,越来越限制功能,迫不得已用回Remmina,使用Ubuntu远程连接另外一台Ubuntu还是很方便的。下面将介绍如何实现远程登录和文件共享。如果觉得写得还不错,就请收藏一下啦~~~也可以找一下我写的其他文章。关注一下我的专栏什么的。你的Star是作者坚持下去的最大动力哦~~~Remmina是一个集成多种协议的远程连接终端,Ubuntu...

2019-03-04 21:24:10 898

原创 dlib+OpenCV实现人脸登录系统

0. 写在最前面本文持续更新地址:https://haoqchen.site/2019/02/28/log-system/你的Star是作者坚持下去的最大动力哦~~~本文介绍了使用dlib的人脸检测、对齐、识别功能加上OpenCV的XML文件读写功能实现了一个登录系统。可以实现用户的用户名、密码、人脸特征注册、登录、数据的本地保存等功能。目前只实现了命令行版本,需要界面可以自己开发。git...

2019-02-28 23:06:42 369

原创 Linux下常用小工具、命令行

查看CPU信息CPU全部信息:cat /proc/cpuinfo支持的指令集:cat /proc/cpuinfo | grep flags

2019-02-28 23:02:10 429

原创 C++const的多种用法

在看《effective C++》前觉得代码都是自己写的,加不加这些const修饰,注不注意格式都无所谓啦,反正自己知道。看完后印象比较深的两点,一个是你设计的类有可能会给别人用,你这些良好的习惯可以防止别人在用你的类的时候出现一些低级错误,从而浪费时间。多人合作的时候也能够节省很多交流和统一意见的时间,一个合适的const使得代码一目了然。二则,代码会有版本更迭,再过一段时间,你或许会忘记自己当...

2019-02-28 20:47:03 246

原创 CMake高级用法

使用宏定义macro(add_example name) add_executable(${name} ${name}.cpp) target_link_libraries(${name} dlib::dlib )endmacro()add_example(dnn_metric_learning_ex)添加外部的CMake有时候自己的CMakeLists需要依赖其他的包,...

2019-02-26 17:11:19 1997

原创 N城市N人,通过公交车运输乘客,一定指令之后输出乘客位置和城市里人的数量(景驰18年秋招第三题)

本文持续更新地址:https://haoqchen.site/2018/11/08/NcityNpeople/题目描述运输公司A承包了某一地区的乘客运输服务。这个地区有N个城市(编号从1到N),并且在一开始,每个城市中都有且只有一位乘客,并且乘客的编号与城市的相同。由于人手短缺,这家公司在任意时刻只能派出一辆公交车。这辆车可以把一个城市中的所有乘客都运送到另一个城市中。为了更好的调配车辆,...

2019-02-24 16:14:33 174

原创 ROS Navigation之nav_core完全详解

0. 写在最前面本文持续更新地址:https://haoqchen.site/2018/12/29/nav-core-code/本文将介绍自己在看ROS的Navigation stack中的nav_core包源代码时的一些理解。作者的ROS版本是indigo,nav_core版本是1.12.13。如有错误,欢迎在评论中指正。如果觉得写得还不错,就请收藏一下啦~~~也可以找一下我写的其他包的源...

2019-01-01 16:36:31 1845

原创 ROS Navigation之move_base完全详解

0. 写在最前面建议收藏:本文持续更新地址:https://haoqchen.site/2018/11/27/move-base-code/本文将介绍自己在看ROS的Navigation stack中的move_base包源代码时的一些理解。作者的ROS版本是indigo,move_base版本是1.12.13。如有错误,欢迎在评论中指正。如果觉得写得还不错,就请收藏一下啦~~~后续想把整...

2018-11-29 13:11:30 10814 16

原创 ROS Navigation之map_server完全详解

0. 写在最前面本文持续更新地址:https://haoqchen.site/2018/11/27/map_server/本文将介绍自己在看ROS的Navigation stack中的map_server包源代码时的一些理解。作者的ROS版本是indigo,map_server版本是1.12.13。如有错误,欢迎在评论中指正。如果觉得写得还不错,就请收藏一下啦~~~后续想把整个Navigat...

2018-11-29 11:43:01 5488 9

原创 面试、笔试知识点整理(1)二叉树

0. 写在最前面希望大家收藏:本文持续更新地址:https://haoqchen.site/2018/11/08/binary-tree-summary/本文记录了作者在准备秋招笔试面试过程中遇到的跟二叉树有关的题目,同时会总结一下复习到的关键知识点。可能不会太详细。本人学习过程中受到《大话数据结构》这本书的很多启发,推荐大家去买来看。不定期更新,20180230博客粉丝量马上达到...

2018-11-08 21:12:11 338

原创 有n根长度不同的木棒,随意选取三根凑一个合法的三角形,求总拼凑方案的数量(2018腾讯软件开发-后台开发方向秋招补考试题第三题)

本文持续更新地址:https://haoqchen.site/2018/11/08/triangle-numbers题目:有n根长度不同的木棒,随意选取三根凑一个合法的三角形,求总拼凑方案的数量。对于两个方案,只要有一根木棒的长度不同,则视为不同拼凑方案。输入描述第一行为正数t(0 <= t <= 10),表示测试用例数接下来每两行一个测试数据,第一行一个整数n(3...

2018-11-08 21:12:03 1161 1

原创 等差数列偶数被除2删除后的恢复问题(2018小马智行秋招计算机视觉第三道编程题)

本文持续更新地址:https://haoqchen.site/2018/11/08/arithmetic-progression-recovery/题目描述小P写下了一个等差数列,然后小Q将等差数列中的所有偶数都除以2(一直除以2,直到变成奇数为止)。然后小P发现等差数列被改了,现在他要还原出原来的等差数列。如果有多种可能的答案,请输出首项最小的等差数列。输入描述第一行一个整数N(...

2018-11-08 21:11:53 536

原创 输入不同进制的数,然后找异数(2018小米秋招软件开发工程师第一道编程题)

本文持续更新地址:https://haoqchen.site/2018/11/08/heteromery/题目描述定义:数值序列中包含2~16进制整数,如果序列中有一个数,与序列中其他任何一个数大小都不相等,则这个数叫做“异数”。请找出给定数值序列中的所有“异数”。输入数值序列i行(0 < i)。每一行分别是进制和数值,以“#”分割。如:n#m。其中n是整数,代表n进制(1 ...

2018-11-08 21:11:47 298 2

原创 扑克牌输赢判断系统(景驰18年秋招第一题)

本文持续更新地址:https://haoqchen.site/2018/11/08/card-judge/题目描述这里进行游戏的扑克牌共有52张,共有2,3,4,5,6,7,8,9,T,J,Q,K,A这13种类型的牌,每一种有4张(因此在一个牌组中,同种类的牌最多只会出现4张)。此处为了方便,不考虑花色的情况,即对于每一种牌,如K,4张K的地位是等价的。不同种的牌之间有大小的关系,为A&g...

2018-11-08 21:11:39 282

原创 Leetcode 140 单词拆分II: 字符串s在字典wordDict中有多少种拆分方法。

本文持续更新地址:https://haoqchen.site/2018/11/08/LeetCode140/题目描述给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例(1)输入: s ...

2018-11-08 21:11:27 1016

原创 LeetCode 139 单词拆分:字符串s能否分割为字符串数组words(wordDict)中字符串的组合?(某未来公司面试题目)

本文持续更新地址:https://haoqchen.site/2018/11/08/LeetCode139/做了公司的面试题目后,上网一找。。发现竟然是Leetcode的题换了个外衣。。。~~~~~顺便把变态的II也做了,Leetcode 140 单词拆分II: 字符串s在字典wordDict中有多少种拆分方法。题目描述设计一个函数 WordBreak:+ 传入参数 s:待分隔的...

2018-11-08 21:11:02 334

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