logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linuxptp时间同步

让不同机器上的时间,保持一致,就是时间同步。多台机器下的任务需要在一个时间基准下工作,就需要时间同步。本文讨论的时间同步协议是PTP。时间同步在自动驾驶领域是至关重要的核心技术,其重要性不亚于传感器硬件和算法本身。它如同整个系统的“神经系统时钟”,确保各个部分协调一致地工作。自动驾驶汽车依赖激光雷达、摄像头、毫米波雷达、惯性导航单元等多种传感器。这些传感器以不同的频率(如10Hz、50Hz、100

文章图片
#c++
[c++] c++ 中的顺序(构造,析构,初始化列表,继承)

对象构造的时候,对象成员变量的初始化顺序是什么样的?派生类构造的时候,先构造基类还是先构造派生类?构造函数中的初始化列表,初始化的顺序是列表的顺序吗?析构的时候,析构的顺序是什么样的?本文通过实例代码记录上述场景下的顺序。先说结论:(1)全局对象以及静态全局对象,在 main 函数调用之前创建(2)构造时,先构造类中的成员变量,再调用构造函数(3)类中成员变量的构造顺序是变量在类中声明的顺序(4)

文章图片
#c++#开发语言
设计模式:状态模式

状态机有3个要素:状态,事件,动作。假如一个对象有3个状态:S1、S2、S3。影响状态的事件有3个:E1、E2、E3。每个状态下收到对应事件的时候,对象的动作为AXY。那么该对象的状态机就可以用如下表格来表示。S1收到事件E1的时候动作为A11,收到事件E2的时候动作为A12,收到事件E3的时候动作为A13,以此类推。其中,动作可以是状态发生切换,也可以是其它与业务有关的动作。

文章图片
#设计模式#状态模式
leetcode LRU 缓存

所以需要使用链表来表示缓存,当访问一个数据的时候需要将当前这个数据从原来的位置上删除,然后加到链表的头部,删除一个节点的话,需要将这个节点的前一个节点和下一个节点连接起来,如果使用单向链表的话,那么只能找到这个节点的下一个节点,找不到上一个节点,所以需要使用双向链表。(6)向缓存中放入数据 1,此时缓存是满的,所以需要先淘汰一个数据,从访问时间来看,最后一次访问 50 的间隔时间最长,也就是排在最

文章图片
#leetcode#算法
c++右值引用

在说右值引用之前,需要先说一下左值引用。左值引用类似于c语言中经常使用的指针,c++引入左值引用,在一定程度上可以代替指针。什么是左值,简单来说,左值是等号左边的值,是可以取地址的。左值引用就是左值的别名,左值引用和左值指向同一块内存;左值引用就像人的小名,指的是同一个人,这个人长高了5cm,那么说这个人的大名和小名的时候,都长高了5cm。如下代码,是左值引用的例子:(1)左值引用需要在声明的时候

文章图片
#c++#开发语言
c++类模板为什么不能编译到动态库中来使用

在使用c++的时候,我们习惯于将类的定义声明在头文件中,即.h文件中,将类函数的实现定义在源文件中,即.cpp文件。如果我们要提供的是一个动态库,那么这种方式更常用,使用动态库的时候,包含头文件,编译的时候链接动态库就可以了。

文章图片
#c++#开发语言
c++虚函数常见问题

如下代码,编译之后,使用 readelf -t a.out 可以查看看到这一段的大小是 0x68,如果从代码中删除一个虚函数,比如把函数 Do2() 不用 virtual 修饰,可以看到这个段的大小减小了 16。虚函数表需要在类定义的时候就要确定,对于函数模板来说,类定义的时候,这个函数有多少实例是不确定的,所以函数模板不能定义为虚函数。但是类模板中的函数可以声明为虚函数,因为对于类模板来说,在定

文章图片
#c++
c++右值引用

在说右值引用之前,需要先说一下左值引用。左值引用类似于c语言中经常使用的指针,c++引入左值引用,在一定程度上可以代替指针。什么是左值,简单来说,左值是等号左边的值,是可以取地址的。左值引用就是左值的别名,左值引用和左值指向同一块内存;左值引用就像人的小名,指的是同一个人,这个人长高了5cm,那么说这个人的大名和小名的时候,都长高了5cm。如下代码,是左值引用的例子:(1)左值引用需要在声明的时候

文章图片
#c++#开发语言
c++虚函数及常见问题

封装,抽象,继承,多态是面向对象编程语言的特点。个人认为抽象和继承都是手段,多态才是目标,继承是多态的基础。(1)将属性和函数封装到一个类里边,属性和函数组成一个完整的对象(2)权限管理,public, private, protected, 增强安全性(3)暴露有限的接口,增强了易用性,增强了安全性(1)抽象这个概念存在于很多场景,我们使用函数,本身就是通过函数隐藏具体的实现细节,这也算抽象(2

文章图片
#c++#开发语言
c++无锁队列moodycamel::ConcurrentQueue测试结果

在c++开发中,无锁队列moodycamel::ConcurrentQueue使用较多,示意图如下:从宏观来看moodycamel::ConcurrentQueue是MPMC队列,即多生产者,多消费者队列;从微观来看,是SPMC队列,即单生产者,多消费者队列。在ConcurrentQueue中,没个生产者都有自己对应的队列。这也引入了ConcurrentQueue的一个特点:ConcurrentQ

文章图片
#开发语言
    共 17 条
  • 1
  • 2
  • 请选择