博客园 - 行路人&
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=84645
2022-02-14T14:18:04Z
行路人&
https://www.cnblogs.com/hjh-666/
feed.cnblogs.com
https://www.cnblogs.com/hjh-666/p/15894383.html
C++11 - atomic类型和内存模型 - 行路人&
参考链接:C++11 - atomic类型和内存模型 - 知乎 (zhihu.com) std::atomic - C++中文 - API参考文档 (apiref.com) “就两个线程就共享了一个数据,需要承担互斥锁的管理负担?!” C++11标准从不同的视角看待这个问题:需要同步的总是资源/数据
2022-02-14T14:11:00Z
2022-02-14T14:11:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】参考链接:C++11 - atomic类型和内存模型 - 知乎 (zhihu.com) std::atomic - C++中文 - API参考文档 (apiref.com) “就两个线程就共享了一个数据,需要承担互斥锁的管理负担?!” C++11标准从不同的视角看待这个问题:需要同步的总是资源/数据 <a href="https://www.cnblogs.com/hjh-666/p/15894383.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15894148.html
static_assert 与assert区别 - 行路人&
参考链接:c++11:static_assert 与assert_夜夜夜夜-CSDN博客_static_assert 背景: assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。 asse
2022-02-14T13:05:00Z
2022-02-14T13:05:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】参考链接:c++11:static_assert 与assert_夜夜夜夜-CSDN博客_static_assert 背景: assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。 asse <a href="https://www.cnblogs.com/hjh-666/p/15894148.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15893992.html
C++内存管理之shared_ptr - 行路人&
参考链接:C++内存管理之shared_ptr - 小念之歌 - 博客园 (cnblogs.com) 1. 初始化 sahred_ptr 智能指针的使用方式与普通指针类似。解引用一个智能指针返回它指向的对象。如果在一个条件判断中使用智能指针,效果就是检测它是否为空: #include <iostre
2022-02-14T12:15:00Z
2022-02-14T12:15:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】参考链接:C++内存管理之shared_ptr - 小念之歌 - 博客园 (cnblogs.com) 1. 初始化 sahred_ptr 智能指针的使用方式与普通指针类似。解引用一个智能指针返回它指向的对象。如果在一个条件判断中使用智能指针,效果就是检测它是否为空: #include <iostre <a href="https://www.cnblogs.com/hjh-666/p/15893992.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15640640.html
空类中自带的六大默认函数,及类中的基础关键字explicit - 行路人&
一.空类中自带的函数有6个,分别是: class Base { public: // class默认private权限 Base () = default; // 默认构造 ~Base () = default; // 默认析构 Base (const Base &b)= default; // 默
2021-12-03T16:13:00Z
2021-12-03T16:13:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】一.空类中自带的函数有6个,分别是: class Base { public: // class默认private权限 Base () = default; // 默认构造 ~Base () = default; // 默认析构 Base (const Base &b)= default; // 默 <a href="https://www.cnblogs.com/hjh-666/p/15640640.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15640422.html
C++中类的sizeof大小总结 - 行路人&
一.前言: 关键字sizeof的作用是返回对象或类型占用的内存字节数,返回值是size_t。基本数据类型占用的字节数: 字节数 类型 1字节 bool 、char 2字节 short 4字节 int 、float、 long(32位)、指针(32位) 8字节 double、long long、指针(
2021-12-03T14:30:00Z
2021-12-03T14:30:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】一.前言: 关键字sizeof的作用是返回对象或类型占用的内存字节数,返回值是size_t。基本数据类型占用的字节数: 字节数 类型 1字节 bool 、char 2字节 short 4字节 int 、float、 long(32位)、指针(32位) 8字节 double、long long、指针( <a href="https://www.cnblogs.com/hjh-666/p/15640422.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15508113.html
智能指针shared_ptr - 行路人&
shared_ptr基础 智能指针是存储动态分配对象指针的类,用于生命周期的控制。当指针离开其作用域时,自动销毁动态分配的空间,防止内存泄漏。使用智能指针需要包含头文件#include<memory> std::shared_ptr采用引用计数,每一个shared_ptr的拷贝都指向相同的内容,当最
2021-11-04T06:41:00Z
2021-11-04T06:41:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】shared_ptr基础 智能指针是存储动态分配对象指针的类,用于生命周期的控制。当指针离开其作用域时,自动销毁动态分配的空间,防止内存泄漏。使用智能指针需要包含头文件#include<memory> std::shared_ptr采用引用计数,每一个shared_ptr的拷贝都指向相同的内容,当最 <a href="https://www.cnblogs.com/hjh-666/p/15508113.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15506266.html
C/C++内存分配管理 - 行路人&
一.编译的程序占用内存区: 在C++中内存分为5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 堆(heap):堆是操作系统所维护的一块特殊内存,用于程序的内存动态分配。 生命周期:开发者手动申请和释放,C使用malloc/free从堆上分配、释放内存,C++使用new/delete
2021-11-03T15:19:00Z
2021-11-03T15:19:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】一.编译的程序占用内存区: 在C++中内存分为5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 堆(heap):堆是操作系统所维护的一块特殊内存,用于程序的内存动态分配。 生命周期:开发者手动申请和释放,C使用malloc/free从堆上分配、释放内存,C++使用new/delete <a href="https://www.cnblogs.com/hjh-666/p/15506266.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15404897.html
Floyd算法--简单易懂版 - 行路人&
参考链接:https://www.cnblogs.com/wangyuliang/p/9216365.html,非常棒!!! Floyd(弗洛伊德)算法前言:以图形化的方式呈现问题 思路: 1.以矩阵的结构来存储图的信息,本身点间的距离为0,两点间无直达路径距离为∞ 2.想缩短a、b两点间距离,只能
2021-10-13T16:21:00Z
2021-10-13T16:21:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】参考链接:https://www.cnblogs.com/wangyuliang/p/9216365.html,非常棒!!! Floyd(弗洛伊德)算法前言:以图形化的方式呈现问题 思路: 1.以矩阵的结构来存储图的信息,本身点间的距离为0,两点间无直达路径距离为∞ 2.想缩短a、b两点间距离,只能 <a href="https://www.cnblogs.com/hjh-666/p/15404897.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15400264.html
贪心算法-极易理解篇 - 行路人&
参考链接:https://zhuanlan.zhihu.com/p/76164082?ivk_sa=1024320u,非常棒!!! 图片前引: 假设一个问题比较复杂,暂时找不到全局最优解,那么我们可以考虑把原问题拆成几个小问题(分而治之思想),分别求每个小问题的最优解,再把这些“局部最优解”叠起来,
2021-10-12T16:18:00Z
2021-10-12T16:18:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】参考链接:https://zhuanlan.zhihu.com/p/76164082?ivk_sa=1024320u,非常棒!!! 图片前引: 假设一个问题比较复杂,暂时找不到全局最优解,那么我们可以考虑把原问题拆成几个小问题(分而治之思想),分别求每个小问题的最优解,再把这些“局部最优解”叠起来, <a href="https://www.cnblogs.com/hjh-666/p/15400264.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/15400203.html
Integer 类和 int 基本数据类型的区别 - 行路人&
参考链接学习:https://www.cnblogs.com/yz123/p/11949311.html 简要: 1.Integer 类和 int 的区别 ①、Integer 是 int 包装类,final修饰,int 是八大基本数据类型之一(byte,char,short,int,long,flo
2021-10-12T15:51:00Z
2021-10-12T15:51:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】参考链接学习:https://www.cnblogs.com/yz123/p/11949311.html 简要: 1.Integer 类和 int 的区别 ①、Integer 是 int 包装类,final修饰,int 是八大基本数据类型之一(byte,char,short,int,long,flo <a href="https://www.cnblogs.com/hjh-666/p/15400203.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11755695.html
精华:三次握手+四次挥手,一文搞定所有! - 行路人&
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报
2019-10-28T13:35:00Z
2019-10-28T13:35:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报 <a href="https://www.cnblogs.com/hjh-666/p/11755695.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11458187.html
看着四年前的代码,那时奋斗的模样,百感滋味 - 行路人&
第一次感受到代码,也冲滞着无尽的时光,带着现在的我,感受着回忆的力量。 大学,校园,实验室,智能车竞赛...那些的真的很美好,都是加油奋斗的身影,很充实,很满足,而现在,更是想念着这些,很难有那份无知的闯劲和无畏的坚持。那些我们仨一起努力的场景,那些没日没夜吃喝睡在凉爽的赛道上,有点傻,但很帅,哈哈
2019-09-04T03:49:00Z
2019-09-04T03:49:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】第一次感受到代码,也冲滞着无尽的时光,带着现在的我,感受着回忆的力量。 大学,校园,实验室,智能车竞赛...那些的真的很美好,都是加油奋斗的身影,很充实,很满足,而现在,更是想念着这些,很难有那份无知的闯劲和无畏的坚持。那些我们仨一起努力的场景,那些没日没夜吃喝睡在凉爽的赛道上,有点傻,但很帅,哈哈 <a href="https://www.cnblogs.com/hjh-666/p/11458187.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11449470.html
操作系统中进程调度策略有哪几种? - 行路人&
FCFS(先来先服务),优先级,时间片轮转,多级反馈-调度算法。 先来先服务调度算法:是一种最简单的调度算法,每次调度是从进程队列中选择一个最先进入该队列的进程,为之分配资源投入运行。该进程一直运行完成或发生某事件而阻塞后才继续处理后面的进程。 优先级调度算法:有短进程优先级、高优先权优先级、高响应
2019-09-02T14:28:00Z
2019-09-02T14:28:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】FCFS(先来先服务),优先级,时间片轮转,多级反馈-调度算法。 先来先服务调度算法:是一种最简单的调度算法,每次调度是从进程队列中选择一个最先进入该队列的进程,为之分配资源投入运行。该进程一直运行完成或发生某事件而阻塞后才继续处理后面的进程。 优先级调度算法:有短进程优先级、高优先权优先级、高响应 <a href="https://www.cnblogs.com/hjh-666/p/11449470.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11449451.html
Linux操作系统及调用接口 - 行路人&
Linux操作系统包含以下各子系统: 系统调用子系统:操作系统的功能调用同一入口; 进程管理子系统:对执行程序进行生命周期和资源管理; 内存管理子系统:对系统的内存进行管理、分配、回收、隔离; 文件子系统 :系统内部一切皆文件,对文件进行管理; 设备子系统 :对输入、输出设备进行管理; 网络子系统
2019-09-02T14:25:00Z
2019-09-02T14:25:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】Linux操作系统包含以下各子系统: 系统调用子系统:操作系统的功能调用同一入口; 进程管理子系统:对执行程序进行生命周期和资源管理; 内存管理子系统:对系统的内存进行管理、分配、回收、隔离; 文件子系统 :系统内部一切皆文件,对文件进行管理; 设备子系统 :对输入、输出设备进行管理; 网络子系统 <a href="https://www.cnblogs.com/hjh-666/p/11449451.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11243073.html
3-1. 基于epoll架构的视频采集端设计 - 行路人&
精通epoll架构 epoll:Linux中最优秀的多路复用机制! 与select 、poll区别 1.select和poll没有太大区别,除了select有文件描述符限制(1024个)。select每次调用都需要将fd集合拷贝到内核态,且监听过程遍历所有的文件位置,开销很大。 2.Epoll监测无
2019-08-07T11:53:00Z
2019-08-07T11:53:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】精通epoll架构 epoll:Linux中最优秀的多路复用机制! 与select 、poll区别 1.select和poll没有太大区别,除了select有文件描述符限制(1024个)。select每次调用都需要将fd集合拷贝到内核态,且监听过程遍历所有的文件位置,开销很大。 2.Epoll监测无 <a href="https://www.cnblogs.com/hjh-666/p/11243073.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11234559.html
2-3. 账号管理子系统设计 - 行路人&
网络安全传输系统整体设计: 1.基本传输子系统+OpenSLL加密传输 (客户端 <->服务器端) 2.线性池的优化设计(并行服务器) 3.基于sqlite账号管理子系统 (验证客户端)(1.数据文件置于客户端目录下;2,客户端加入数据验证程序(利用数据文件中查找)) 对于数据库系统: 访问数据库应
2019-07-24T14:09:00Z
2019-07-24T14:09:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】网络安全传输系统整体设计: 1.基本传输子系统+OpenSLL加密传输 (客户端 <->服务器端) 2.线性池的优化设计(并行服务器) 3.基于sqlite账号管理子系统 (验证客户端)(1.数据文件置于客户端目录下;2,客户端加入数据验证程序(利用数据文件中查找)) 对于数据库系统: 访问数据库应 <a href="https://www.cnblogs.com/hjh-666/p/11234559.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11234413.html
2-2. 线性池技术优化 - 行路人&
线性池的应用来源 为满足多客户端可同时登陆的要求,服务器端必须实现并发工作方式。当服务器主进程持续等待客户端连接时,每连接上一个客户端都需一个单独的进程或线程处理客户端的任务。但考虑到多进程对系统资源消耗大,单一线程存在重复创建、销毁等动作产生过多的调度开销,故采用线性池的方法。 线性池是一种多线程
2019-07-23T12:56:00Z
2019-07-23T12:56:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】线性池的应用来源 为满足多客户端可同时登陆的要求,服务器端必须实现并发工作方式。当服务器主进程持续等待客户端连接时,每连接上一个客户端都需一个单独的进程或线程处理客户端的任务。但考虑到多进程对系统资源消耗大,单一线程存在重复创建、销毁等动作产生过多的调度开销,故采用线性池的方法。 线性池是一种多线程 <a href="https://www.cnblogs.com/hjh-666/p/11234413.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11224714.html
2-1. 基于OpenSSL的传输子系统实现 - 行路人&
一. 基本传输子系统程序设计 客户端可上传文件至服务器,或下载服务器上的文件 系统程序构架: TCP建立连接 menu()-> 上传命令、下载命令 close(socket) TCP建立连接 handle()-> 根据命令响应 close(socket); 主函数框架: 客户端操作菜单及服务器端命令
2019-07-23T01:41:00Z
2019-07-23T01:41:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】一. 基本传输子系统程序设计 客户端可上传文件至服务器,或下载服务器上的文件 系统程序构架: TCP建立连接 menu()-> 上传命令、下载命令 close(socket) TCP建立连接 handle()-> 根据命令响应 close(socket); 主函数框架: 客户端操作菜单及服务器端命令 <a href="https://www.cnblogs.com/hjh-666/p/11224714.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11222744.html
1-4. 嵌入式web服务器BOA的移植及应用 - 行路人&
嵌入式web服务器子系统 一.嵌入式web服务器的控制流程 如下图所示,嵌入式web服务器可实现通过网络远程控制嵌入式开发板,便捷实用。 控制流程: 1.用户浏览器--(请求连接)-->>web服务器; (web服务器包含a.供浏览器登录的网页界面程序,b.供服务器调用的CGI程序(扩展服务器功能)
2019-07-22T01:48:00Z
2019-07-22T01:48:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】嵌入式web服务器子系统 一.嵌入式web服务器的控制流程 如下图所示,嵌入式web服务器可实现通过网络远程控制嵌入式开发板,便捷实用。 控制流程: 1.用户浏览器--(请求连接)-->>web服务器; (web服务器包含a.供浏览器登录的网页界面程序,b.供服务器调用的CGI程序(扩展服务器功能) <a href="https://www.cnblogs.com/hjh-666/p/11222744.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hjh-666/p/11222675.html
1-3. Linux下移动图像监测系统——motion的移植及应用 - 行路人&
移动图像监控主系统的开发<-(报警子系统+图像采集子系统) 移动图像监控的原理方法: 通过获取摄像头图像,比较前后每一帧的图像数据,从而实现移动物体监控。所有移动监控均是如此,只是图像帧的比较算法不同。 移动图像监控系统的实现 选择开源的移动监控软件motion,移植至开发板上。移植工作大致相同:
2019-07-21T12:54:00Z
2019-07-21T12:54:00Z
行路人&
https://www.cnblogs.com/hjh-666/
【摘要】移动图像监控主系统的开发<-(报警子系统+图像采集子系统) 移动图像监控的原理方法: 通过获取摄像头图像,比较前后每一帧的图像数据,从而实现移动物体监控。所有移动监控均是如此,只是图像帧的比较算法不同。 移动图像监控系统的实现 选择开源的移动监控软件motion,移植至开发板上。移植工作大致相同: <a href="https://www.cnblogs.com/hjh-666/p/11222675.html" target="_blank">阅读全文</a>