自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (2)
  • 收藏
  • 关注

原创 std::unique_ptr巧用

使用unique_ptr 既能拿到裸指针,又能防止类型初始化失败导致的内存泄漏问题。

2023-12-28 17:56:17 360

原创 boost::any + std::shared_ptr结合使用

【代码】boost::any + std::shared_ptr结合使用。

2023-12-27 16:53:51 362

原创 Golang变量直接初始化

golang变量直接初始化写法

2023-07-31 11:35:37 347

原创 GoogleBenchmark安装

GitHub - google/benchmark: A microbenchmark support library

2023-06-18 16:02:31 186

原创 Setting up SSH Host ...问题解决

解决vscode Setting up SSH Host 报错

2023-05-04 18:57:41 1933

原创 IDEA生成可执行jar(包含外部依赖)

可以解决的问题:执行时报错 java.lang.NoClassDefFoundError。

2023-03-05 02:04:07 374

原创 jar在Linux运行报错问题解决

java在IDEA编译并生成jar包后,在Linux环境下运行报错问题解决

2023-02-26 10:40:53 1833

原创 树相关算法

1、输出二叉树的所有路径(从根到所有叶子节点)【回溯】 void getAllPath(TreeNode* root, std::vector<std::vector<int>>& all_paths) { static std::vector<int> path; // 这里是static的 if (nullptr == root) { return; } path.push_back(root-&g

2021-12-18 18:59:53 584

原创 编译相关知识点记录

1. .cpp; .h和编译的关系在编译过程中,编译器只能看到当前.cpp的实现,所以如果当前.cpp用到外部函数/类的时候,需要提前声明但是如果 情况一:a.cpp用到了 b.cpp中的100个函数,用到了c.cpp中的300个函数,那么把声明写在.cpp前面也太多了 情况二: 如果b.cpp中的20个函数被其他100个.cpp用到,一旦b.cpp中被用到的函数名修改了,难道要修改其他的100个.cpp的声明吗?这时候,头文件.h的作用就显示出来了,直接include b...

2021-06-22 21:26:10 86

原创 网络相关知识点收藏

1.socket shutdown和close的区别cnblogs.com/kex1n/p/7146054.html

2021-06-20 18:00:23 71

原创 线程池学习

1.参考https://github.com/philipphenkel/threadpool/tree/a7b3e058e3416c1cb819b70948274367c80bb2e3

2021-06-13 18:46:32 92

原创 Zookeeper学习记录

Last.出错解决WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).https://www.cnblogs.com/telwanggs/p/10855194.html

2021-04-11 21:46:46 81

原创 Maven学习笔记

Maven学习资源:https://www.bilibili.com/video/BV1dp4y1Q7Hf?p=1一、 简介定位:项目构建工具功能管理jar文件;自动下载jar文件及其文档,源代码管理jar直接的依赖,自动下载依赖管理jar版本编译程序,.java到.class打包文件,形成jar文件或者war文件部署项目构建面向过程的,即完成代码的 编译,测试,打包,部署等等maven支持的构建包括清理,把之前项目编译的内容删

2021-04-11 19:57:40 98

原创 glog编译报错解决

1.编译命令g++ type_info.cc -o type_info -std=c++11 -lglog2.报错信息/usr/local/lib/libgflags.so.2.2: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'/usr/local/lib/libgflags.so.2.2: undefined reference to `std::__throw_out_of_range_fmt(

2021-02-02 20:58:59 2030

原创 cppjson使用 记录

1.GitHubhttps://github.com/open-source-parsers/jsoncpp2.官方文档http://jsoncpp.sourceforge.net/class_json_1_1_value.html3.记录void cppJsonTest() { Json::Value null_value; // null Json::Value arr_value(Json::arrayValue); // [] Json::Value

2020-12-10 21:08:33 228

原创 网关、代理、隧道的区别

知乎大佬 :https://www.zhihu.com/question/268204483

2020-12-09 21:39:35 270

原创 http 详细学习记录

1.通过google浏览器查看http请求中的请求行;请求头https://www.cnblogs.com/loberty/p/11990576.html2.不同方法对应的request和response格式2.1 GET 方法

2020-12-07 21:37:50 189

原创 带模板参数函数指针_作为_函数入参

#include "boost/algorithm/string.hpp"#include <functional>#include <iostream>#include <string>#include <unordered_map>#include <unordered_set>// template <typename DstType>// int (*Handler)(const char*, size_t, .

2020-11-24 10:53:19 448

原创 集线器 交换机 路由器介绍

一、集线器 1、集线器起到了一个将网线集结起来的作用,实现最初级的网络互通。 2、集线器是通过网线直接传送数据的,工作在物理层。 3、集线器的主要功能以扩大网络的传输距离,是中继器的一种形式,区别在于集线器能够提供多端口服务,也称为多口中继器。 4、由于它在网络中处于一种“中心”位置,因此集线器也叫做“HUB” 5、(原理)集线器的工作原理很简单,比如有一个具备8个端口的集线器,共连接了8台电脑。集线器处于网络的“中心”,通过集线器对信号进行转发,8台电脑之间可以互...

2020-11-05 21:48:09 862 1

原创 网关是啥

本质:网关实质上是一个网络通向其他网络的IP地址1、网关又称协议转换器,实现网络间的相互连接,是复杂的网络互连设备2、从一个网络向另一个网络发送信息,必须经过网关3、|||本质是||| 网关实质上是一个网络通向其他网络的IP地址4、如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机5、只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信6、网关的IP地址是具有路由功能的设备的I

2020-11-03 21:57:30 469

原创 Cookie和Session讲解

一、cookie(存在客户端)服务端为了记录用户状态,会在返回给浏览器的response中加入cookie,浏览器会保存cookie.当浏览器再请求服务端时,会把cookie带上。 服务器还可以根据需要修改Cookie的内容 Cookie具有不可跨域名性 (google和baidu之间不互通)。由浏览器进行管理,通过域名进行区分 Cookie有些属性可以设置(失效时间) cookie失效分为2种: a.设置过期时间失效(只要设置了过期时间cookie就会存储在硬盘里面) ...

2020-11-03 21:21:54 158

原创 buffer和cache的区别

https://www.cnblogs.com/M18-BlankBox/p/5326484.html1.buffer和cache都是为了解决互访的两种设备存在速率差异,使磁盘的IO的读写性能或cpu更加高效,减少进程间通信等待的时间2.buffer:缓冲区-用于存储速度不同步的设备或优先级不同的设备之间传输数据,通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储快的设备先把数据缓存到buffer上,等到系统统一把buffer上的...

2020-11-03 20:48:53 280

原创 linux配置golang开发环境

https://www.jianshu.com/p/33cf4f41cae9

2020-10-24 23:51:12 83

原创 C++异常记录

1.terminate called without an active exception原因:主线程结束,对象资源释放,导致子线程拿到非法资源解决办法:主线程join等待子线程2.basic_string::_S_create异常如下代码导致std::vector<std::string> tmp_vec_set;for (int i = 0; i < 800; ++i) { tmp_vec_set[0] += ("dcsaasdasdcrwq...

2020-10-24 16:59:37 541

原创 Kafka Consumer讲解

https://www.jianshu.com/p/abbc09ed6703

2020-10-20 20:46:53 70

原创 为什么只有指针能够完成多态

本质是:对象中指向VirtualTable的指针是否发生变化VirtualTable是在编一阶段生成的,该指针初始化时指向对象所实现的类的VirtualTable。Base基类,Derived派生类void fun(Base a);  将Derived b传入时,首先发生了b的向上转型,然后发生了值拷贝,vptr发生了改变,多态失败。void fun(Base* a)  将Derived * b传入时,发生b的向上转型和拷贝,但是地址变量的转型和拷贝不改变vptr的指向,vptr指向得以保留

2020-09-29 14:30:57 193 1

原创 rapidJson使用

1.官方文档:http://rapidjson.org/zh-cn/md_doc_tutorial_8zh-cn.html#CreateString2.添加元素rapidjson::Document document; rapidjson::Document::AllocatorType& alloc = document.GetAllocator(); rapidjson::Value json_normal(rapidjson::Type::kObjectType

2020-09-27 17:04:52 574

原创 idea 配置jdk & maven

1.jdk配置&下载https://blog.csdn.net/weixin_44084189/article/details/989667872.maven下载 &配置https://www.cnblogs.com/telwanggs/p/10820701.html

2020-07-26 18:17:00 142

原创 gflags

1.背景介绍 2.使用方法 (1)支持的数据类型 (2)使用方式 (3)flags导入方式 (4)gflags参数加载 (5)gflags参数修改 (6)一些特殊的gflags参数 (7)补充说明 3.gflags在搜索系统中的应用 1.gflags加载 2.应用 1.背景介绍google开源的gflags是一套命令行参数解析工具,比getopt功能更强大,使用起来更加方便,gflags支持从命令行参数、环境变量以及配置文件读取参数。同时,可以在单个源代...

2020-07-16 19:18:25 363

原创 C中的#和##

#是在宏定义中将参数进行字符串化的预处理特征##是连接符https://www.cnblogs.com/castor-xu/p/12822802.html

2020-07-04 19:56:09 191

原创 网络编程系列博客

https://www.jianshu.com/u/e8c7bb5e3257

2020-06-04 23:51:36 148

原创 Linux共享库的搜索路径先后顺序

1、编译目标代码时指定的动态库搜索路径:在编译的时候指定-Wl,-rpath=路径2、环境变量LD_LIBRARY_PATH指定的动态库搜索路径3、配置文件/etc/ld.so.conf中指定的动态库搜索路径4、默认的动态库搜索路径/lib5、默认的动态库搜索路径 /usr/libLD_LIBRARY_PATH的导入可以放在/etc/profile里# 例exportLD_LIBRARY_PATH="/usr/local/lib"...

2020-05-31 10:36:27 330

原创 boost::scope_lock,boost::shared_lock,boost::unique_lock

1.boost::scope_lock严格基于作用域(scope-based)的锁管理类模板,构造时是否加锁是可选的(不加锁时假定当前线程已经获得锁的所有权),析构时自动释放锁,所有权不可转移,对象生存期内不允许手动加锁和释放锁2.boost::shared_lock,boost::unique_lock shared_lock是read lock。被锁后仍允许其他线程执行同样被shared_lock的代码。这是一般做读操作时的需要。 unique_lock是writelock。被...

2020-05-18 21:57:00 501

原创 supervisor介绍

https://www.jianshu.com/p/0b9054b33db3

2020-05-18 14:44:07 147

原创 protobuf3安装及使用(报错解决)

1.安装下载地址 https://github.com/protocolbuffers/protobuf/releases (我下载的是all版本 tar.gz)tar zvxf ******.tar.gzcd protobuf-****** ./configure –prefix=/usr/local/ sudo make #编译时间很长sudo make checksudo make install2.测试是否可用可参考https://blog.cs..

2020-05-15 00:16:53 1612

原创 代码问题检查工具

1.静态检查工具https://www.cnblogs.com/wanhuan/p/5764306.htmlcppcheck 安装https://blog.csdn.net/u012053377/article/details/81209816 使用2.动态检查工具Linux下内存检测工具:asanhttp://www.cppblog.com/markqian86/archiv...

2020-05-06 21:20:16 447

原创 iterator_traits

https://www.cnblogs.com/dmq5488287/articles/2841341.html

2020-05-01 23:00:08 176

原创 C++操作符重载

2020-04-24 22:34:28 192

原创 CentOS升级gcc

https://www.vpser.net/manage/centos-6-upgrade-gcc.html

2020-04-19 19:01:55 109

原创 not1,not2,bind1st和bind2nd用法

https://www.cnblogs.com/blueoverflow/p/4737122.html

2020-04-18 22:45:53 467

Qt+周立功 CAN卡 调试上位机软件

该资源是本人利用Qt和周立功公司的CAN动态链接库开发的CAN收发数据上位机,验证可用, 喷子走开

2019-03-29

舵机控制的讲解

讲述了多个舵机联动的驱动核心算法,以及舵机的分类和应用

2016-11-21

空空如也

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

TA关注的人

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