Sherlock的程序人生
摘要: 所谓的交叉编译,其实我们可以从编译原理上理解这个步骤,C++的编译大致可以分为预编译、编译和链接三个步骤,所以我们只要保证预编译和编译使用的编译工具是目标平台的配套工具,最后链接的库文件是目标平台的库文件,即可保证交叉编译的正确性。 阅读全文
posted @ 2022-02-20 18:40 sherlock_lin 阅读(3406) 评论(2) 推荐(0) 编辑
摘要: 记录一下类成员方法作为模板函数踩到的坑 阅读全文
posted @ 2021-12-05 11:33 sherlock_lin 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 和流行的面向对象语言不同,go 中没有面向对象的说法,也没有对应的封装、继承和多态,但是,没有不表示 go 不能,我们仍然可以拐着弯地去使用 阅读全文
posted @ 2021-11-28 12:20 sherlock_lin 阅读(777) 评论(1) 推荐(1) 编辑
摘要: 1、使用场景 在没有C++11的时候,我们通常使用回调函数来完成某些特定的功能,使用回调函数就需要先声明函数指针 示例: typedef int(*PFunction)(int); 这里的 PFunction 就是一个函数指针类型,我们可以用它定义函数指针对象,传递到指定位置,用于回调 但C++11 阅读全文
posted @ 2021-10-21 21:34 sherlock_lin 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 1、说明 我一直记得返回对象的函数在调用时会有拷贝构造动作,但是最近实际测试却和记忆有些偏差,经查询是编译的问题 RVO: return value optimization NRVO: named return value optimization 这两个是编译器的一种函数返回值优化策略 先说结果 阅读全文
posted @ 2021-10-20 13:14 sherlock_lin 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 1、说明 netty 的 ByteBuf 中的 readerIndex 和 writerIndex 的设置十分巧妙,它内部对读取和写入位置进行控制,避免自己处理index的时候的各种麻烦,大大减少业务处理时的代码量 用 C++ 重构一下,删减了 netty 的 ByteBuf 中的一些不常用的接口 阅读全文
posted @ 2021-10-03 21:40 sherlock_lin 阅读(451) 评论(0) 推荐(1) 编辑
摘要: C++文件处理工具类,hpp文件,使用时只需要include即可,跨平台 阅读全文
posted @ 2021-08-06 13:35 sherlock_lin 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 官方wiki:http://wiki.ros.org/actionlib 1、说明 ROS中的action也是节点通信的一种方式,其和service-client的不同点在于,service-client是一问一答模式,而action则多了一个反馈机制,即服务端不间断给客户端反馈 api参考:htt 阅读全文
posted @ 2021-07-10 16:31 sherlock_lin 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 这些年C++下的开发习惯了大而全的库,突然有一天,不能使用这些库了,才发现缺少一套自己常用的库 基于std::string的字符串处理 使用.hpp文件,不需要加入项目中,只要#include文件即可使用 StringUtil.hpp #ifndef STRING_UTIL_H #define ST 阅读全文
posted @ 2021-07-04 17:50 sherlock_lin 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1、说明 ROS的节点通信模式有多种,本文介绍service-client模式 本文的示例功能是计算 sum=a+b-c*n 下文中功能包的创建步骤不再做详细介绍 2、创建功能包 仍然和前例使用同一个工作空间 cd ~/projrct/catkin_ws/ catkin_create_pkg tes 阅读全文
posted @ 2021-06-14 22:05 sherlock_lin 阅读(927) 评论(0) 推荐(0) 编辑