自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 Linux线程优先级范围

Linux定义线程优先级范围在头文件Linux线程调度策略Linux定义线程调度策略在头文件 SCHED_NORMAL即为SCHED_OTHER:采用分时调度策略。SCHED_FIFO:采用实时调度策略,且先到先服务,一直运行直到有更高优先级任务到达或自己放弃。SCHED_RR:采用实时调度策略,且时间片轮转,时间片用完,系统将重新分配时间片,并置于就绪队列尾。SCHED_BATCH:针对批处理进程。SCHED_IDLE:使用...

2022-06-06 17:06:57 895 1

原创 top命令内容说明

ps -ef #显示所有当前进程ps aux #显示所有当前进程ps -ax #显示所有当前进程ps -u pungki #根据用户过滤进程ps -aux --sort -pcpu | less #根据 CPU 使用来升序排序ps -aux --sort -pmem | less #根据用户过滤进程ps -aux --sort -pcpu,+pmem | head -n 10 #查询全10个使用cpu和内存最高的应用ps -C getty

2022-06-06 16:17:44 2344

原创 Linux线程优先级设置

1.SCHED_OTHER 分时调度策略2.SCHED_FIFO 实时调度策略,先到先服务。一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃3.SCHED_RR实 时调度策略,时间片轮转。当进程的时间片用完,系统将重新分配时间片,并置于就绪队列尾。放在队列尾保证了所有具有相同优先级的RR任务的调度公平。首先,可以通过以下两个函数来获得线程可以设置的最高和最低优先级,函数中的策略即上述三种策略的宏定义:  int sched_get_priority_max(int policy);   

2022-06-06 13:54:35 4056

原创 原子操作 std::atomic<int>

std::atomic模板类可以使对象操作为原子操作,避免多线程竞争问题;请看如下代码,一目了然class Test{public: Test() = default; void CThreadFunc() { for (int i = 0; i < 10000; ++i) { //std::lock_guard lck(Test::m_s_ivalue_mutex); //m_iV...

2022-06-06 00:36:43 967

原创 enable_shared_from_this

enable_shared_from_this是一个模板类,定义于头文件,其原型为:template< class T > class enable_shared_from_this; std::enable_shared_from_this 能让一个对象(假设其名为 t ,且已被一个 std::shared_ptr 对象 pt 管理)安全地生成其他额外的 std::shared_ptr 实例(假设名为 pt1, pt2, ... ) ,它们与 pt 共享对象 t 的所有权。 ...

2022-06-05 14:14:54 361

原创 YUV数据格式

与 RGB 编码方法类似,YUV 也是一种颜色编码方法。其中“Y”表示明亮度(Luminance 或 Luma),也就是灰阶值,U 和 V 表示的则是色度(Chrominance 或 Chroma),分别用 CrCb来表示,作用是描述影像色彩及饱和度,用于指定像素的颜色。这样分开的好处:1. 可以避免相互干扰(没有 UV 信息一样可以显示完整的图像,因而解决了彩色电视与黑白电视的兼容问题);2. 降低色度的采样率而不会对图像质量影响太大,降低了视屏是`信号传输时对频宽(带宽)的要求。YUV 是一

2022-05-28 15:13:48 2371

原创 世界坐标系、相机坐标系、图像坐标系、像素坐标系

四个坐标系都是什么?图像处理、立体视觉等等方向常常涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系 构建世界坐标系只是为了更好的描述相机的位置在哪里,在双目视觉中一般将世界坐标系原点定在左相机或者右相机或者二者X轴方向的中点。接下来的重点,就是关于这几个坐标系的转换。也就是说,一个现实中的物体是如何在图像中成像的。四个坐标系之间的相互转换1. 从世界坐标系到相机坐标系 其中[ x ′ , y ′ ] 为...

2022-05-17 01:06:10 19923 2

原创 行为型模式 - 策略模式(STRATEGY)

1. 意图定义一些列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。2. 别名政策(Policy)3. 结构4. 例子//策略基类class Strategy{public: Strategy(){}; ~Strategy(){}; virtual void tax(int a,int b)=0;};//策略子类,不同的方法实现class CN_Tax : public Strat...

2022-05-04 18:26:05 81

原创 行为型模式 - 模板方法模式(TEMPLATE METHOD)

1. 意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2. 结构3. 模板模式和策略模式区别策略模式:定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。关键点在于每个算法都是过程完整且独立的。模板方法模式:模板则是将骨架定义好,例如执行的步骤或先后顺序。骨架中的部分在父类中进行实现,而子类的个性化行为则由子类继承再加以实现。区别的本质就是策略模式是替换了整个流程。而模板

2022-05-04 17:49:00 85

原创 行为型模式 - 状态机模式(STATE)

1. 意图状态模式是一种对象行为模式。允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。状态机又叫有限状态机,它有 3 个部分组成:状态、事件、动作。其中,事件也称为转移条件。事件触发状态的转移及动作的执行。不过,动作不是必须的,也可能只转移状态,不执行任何动作。针对状态机,有三种实现方式。第一种实现方式叫分支逻辑法。利用 if-else 或者 switch-cas

2022-05-04 17:30:58 826

原创 行为型模式 - 观察者模式(OBSERVER)

1. 意图观察者模式是一种对象行为模式。它定义对象间的一种一对多的的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。2. 别名依赖(Dependents)、发布-订阅(Publish-Subscribe)3. 使用场景1、当一个抽象模型有两个方面,其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。2、当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象需要被改变。3、当一个对象必须通知其他对象,而它又不

2022-05-04 15:29:12 119

原创 结构型模式 - 代理模式(PROXY)

1. 意图为其它对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。2. 别名Surroagate3. 组成抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。4. 优点(1).职责清晰真实的角色

2022-05-04 13:29:47 71

原创 结构型模式 - 其它模式

1. 桥接模式(BRIDGE)2. 组成模式(COMPOSITE)3. 装饰模式(DECORATOR)4. 外观模式(FACADE)5. 享元模式(FLYWEIGHT)

2022-05-03 01:28:32 95

原创 结构型模式 - 适配器模式(ADAPTER)

1. 意图将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2. 别名包装器Wrapper3. 动机有时,为复用而设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。...

2022-05-03 01:08:15 141

原创 创建型模式 - 其他模式

1. BUILDER(生成器)模式2. PROTOTYPE(原型)模式

2022-05-03 01:00:58 81

原创 创建型模式 - 单件模式(Singleton)

保证一个类仅有一个实例,并提供一个访问它的全局访问点。应用场景:当一个类只有一个实例,而且客户端可以从一个众所周知的访问点访问它时; 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无须更改代码就能使用一个扩展的实例时;例子:1. 常用单例class Singleton{public: static Singleton* getSingleton() { if(singleton == nullptr) { ...

2022-04-28 23:49:18 100

原创 创建型模式 - 工厂方法模式与抽象工厂模式之间的区别

工厂方法模式属于对象创建型模式,它定义一个用户创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到其子类。具体来说,就是一个一个抽象产品类,派生出多个具体产品类;同时,一个抽象工厂类,派生出多个具体工厂类。而每个具体工厂类只能创建一个具体产品类的实例。抽象工厂模式也属于对象创建型模式,它提供了一个创建一系列相关或相互依赖对象的接口,而无须制定它们具体的类。具体来说就是在多个抽象产品类中,每个抽象产品类可以派生出多个具体产品类。一个抽象工厂类,可以派生出多个具体工厂类。每个

2022-04-28 23:11:55 2180

原创 创建型模式 - 工厂方法模式(FACTORY METHOD)

定义一个用户创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到其子类。此模式的核心精神是封装类中变化的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品。工厂方法经常用在以下两种情况中:第一种情况是对于某个产品,调用者清楚地知道应该使用哪个具体工厂服务,实例化该具体工厂,生产出具体的产品来。第二种情况,只是需要一种产品,而不想知道也不需要知道究竟是

2022-04-28 22:58:46 88

原创 创建型模式 - 抽象工厂模式(ABSTRACT FACTORY)

提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。具体来说就是在多个抽象产品类中,每个抽象产品类可以派生出多个具体产品类。一个抽象工厂类,可以派生出多个具体工厂类。每个具体工厂类可以创建多个具体产品类的实例。例子:假设我们有两种产品接口 Button 和 Border ,每一种产品都支持多种系列,比如 Mac 系列和 Windows 系列。这样每个系列的产品分别是 MacButton, WinButton, MacBorder, WinBorder 。为了可以在运行时刻

2022-04-28 01:06:30 96

原创 Ubuntu

使用Terminator可以在一个窗口中显示多个GNOME终端窗口,并且可以按照用户的要求对窗口进行任意分割apt-get install terminator安装完直接终端运行terminator,提示失败输入eval $(dbus-launch --sh-syntax)命令,再运行即可eval $(dbus-launch --sh-syntax)export DBUS_SESSION_BUS_ADDRESSexport DBUS_SESSION_BUS_PID...

2022-04-25 10:23:14 297

原创 单例Singleton

C++11使用静态方法,而且是线程安全的class Singleton{public:static Singleton& getInstance(){static Singleton intance;return instance;}private:Singleton() {}Singleton(Singleton...

2022-04-23 23:54:22 1046

原创 Fast Initialization

在C++11之前的版本,初始化是一个没有被统一的写法,有时候用小括号,有时候用大括号,有时候还用赋值号,在学习C语言的时候就深有体会,在c++11中就统一了初始化的形式——“{ }”,直接在对象名后面跟大括号,并在大括号中写入需要初始化的值,并用逗号隔开。甚至类构造函数的初始化列表也可以用“{}”大括号,比如:int values[] {1,2,3,4};vector<int> v {1,2,3,4};complex<double> c{3.0,4.0};...

2022-04-22 11:58:20 656

原创 function类模板

类模板std::function 是⼀个通⽤的多态函数包装器。当做函数指针。function类模板template< class R, class... Args >class function< R (Args...)>说明:R是被调⽤函数的返回类型 Args....是被调⽤的函数的形参。function是类模板,只有成员函数,没有数据成员。1. 调用普通函数#include <functional>#include <iostrea.

2022-04-22 11:17:33 370

原创 Lamda表达式

C++11的一大亮点就是引入了Lambda表达式。利用Lambda表达式,可以方便的定义和创建匿名函数。对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概念听起来好像很深奥,但很多高级语言在很早以前就已经提供了Lambda表达式的功能,如C#,Python等。今天,我们就来简单介绍一下C++中Lambda表达式的简单使用。声明Lambda表达式Lambda表达式完整的声明格式如下:[capture list] (params list) mutable exception-&

2022-04-22 10:55:11 81

飞思卡尔K60中文介绍

飞思卡尔kinetisK60中文介绍文档

2013-01-08

ARM体系结构与编程

ARM体系结构与编程,介绍arm系统结构和编程的书籍

2013-01-08

ARM入门教程

ARM入门教程 一本不错的arm入门指导教程

2013-01-08

空空如也

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

TA关注的人

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