自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 构建Linux根文件系统

构建Linux根文件系统1、基础知识1.1、基本概念In computing, a file system or filesystem controls how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body ...

2019-04-17 11:25:27 243

原创 uboot源码分析

uboot源码分析1、ARM SOC启动流程BL0:第一阶段启动代码,固化在SOC片内ROM中,不可修改;BL1:上电启动第二阶段,在BL0阶段被加载至SRAM中,对应于u-boot的SPL阶段;BL2:上电启动第三阶段,在BL1阶段被加载至SDRAM中,对应于u-boot的uboot阶段。Created with Raphaël 2.2.0上电启动BL0(IROM)BL0(IROM...

2019-04-03 11:14:45 1363

原创 Ubuntu中安装ROS Kinetic

Ubuntu中安装ROS Kinetic1、概述ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、函数库、可视化工具、消息传递和软件包管理等诸多功能。ROS遵循BSD开源许可协议。官网:www.ros.orgWiki:wiki.ros.org/cnBlog:www.ros.or...

2019-03-20 12:44:09 193

原创 Linux /etc/passwd内容图解

Linux /etc/passwd内容图解

2019-03-15 11:29:50 170

原创 Linux内核数据结构——哈希表

Linux内核数据结构——哈希表1、基本概念In computing, a hash table (hash map) is a data structure that implements an associative array abstract data type, a structure that can map keys to values. A hash table uses a ...

2019-03-06 16:49:06 711

原创 valgrind的安装及使用

ubuntu16.04环境下valgrind的安装及使用1、Valgrind简介Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,它的主要作者是获得过Google-O’Reilly开源大奖的Julian Seward,它包含一个内核——个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务──调试,分析,或测试等;Valgrind可以检测内存泄漏和内存违例...

2019-02-22 16:35:47 499 1

原创 设计模式——命令模式

设计模式学习——Command Pattern(命令模式)1、模式定义Command Pattern(命令模式):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。2、结构命令模式包含如下角色:Command: 抽象...

2019-02-18 16:19:08 248 1

原创 设计模式——策略模式

设计模式学习——Strategy Pattern(策略模式)1、模式定义Strategy Pattern(策略模式):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。策略模式是一种对象行为型模式。2、结构策略模式包含如下角色:Context: 环境类Strategy: 抽象策略类Concrete...

2019-02-14 16:35:37 252 1

原创 设计模式——状态模式

设计模式学习——State Pattern(状态模式)1、模式定义State Pattern(状态模式):允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。2、结构状态模式包含如下角色:Context: 环境类State: 抽象状态类ConcreteState: 具体状...

2019-02-14 13:48:22 285 1

原创 设计模式——观察者模式

设计模式学习——Observer Pattern(观察者模式)1、模式定义Observer Pattern(观察者模式):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(D...

2019-01-29 14:57:20 222

原创 基类指针调用派生类中定义的方法

基类指针调用派生类中定义的方法1、实例分析class BaseClass{public: BaseClass(); virtual ~BaseClass(); virtual void Operation();};class DerivedClass:public BaseClass{public: DerivedClass(); vir...

2019-01-29 11:05:12 2055

原创 设计模式——单例模式

设计模式学习——Singleton Pattern(单例模式)1、模式定义Singleton Pattern(单例模式):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是一种对象创建型模式。单例模式又名单...

2019-01-22 14:26:14 322

原创 设计模式——建造者模式

设计模式学习——Builder Pattern(建造者模式)1、模式定义Builder Pattern(建造者模式):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生...

2019-01-22 14:25:11 295

原创 设计模式——抽象工厂

设计模式学习——Abstract Factory Pattern(抽象工厂模式)1、模式定义Abstract Factory Pattern(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。2、结构抽象工厂模式包含如下角色:AbstractFactory:抽象工厂ConcreteFactory:...

2019-01-22 14:23:58 366

原创 设计模式——工厂方法模式

设计模式学习——Factory Method Pattern(工厂模式)1、模式定义Factory Method Pattern(工厂方法模式)又称为工厂模式,也叫Virtual Constructor(虚拟构造器)模式或者Polymorphic Factory(多态工厂)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,...

2019-01-22 14:22:05 338

原创 设计模式——简单工厂模式

设计模式学习——Simple Factory Pattern(简单工厂模式)1、模式定义Simple Factory Pattern(简单工厂模式):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。2、结构简...

2019-01-22 14:19:45 384

原创 设计模式——UML类图

设计模式学习——UML类图类之间的关系1、Generaliaztion(泛化关系)泛化关系用一条带空心箭头的直线表示;类的继承结构表现在UML中为Generalization和Realize;如下例中“SUV”继承自“小汽车”。2、Realize(实现关系)实现关系用一条带空心箭头的虚线表示;实现关系表现为继承抽象类;如下例中“小汽车”和“自行车”都继承自“车”。3、A...

2019-01-22 14:15:20 485

原创 设计模式——基础知识

设计模式学习——基础知识GoFGang of Four(GoF(“四人帮”))——Erich Gamma,Richard Helm, Ralph Johnson ,John Vlissides面向对象六大原则Single Responsibility Principle(单一原则)Liskov Substitution Principle(里氏替换原则)Dependence In...

2019-01-22 14:10:45 323

原创 可变参数函数

可变参数(va)函数va函数的定义和va宏VA函数(variable argument function),参数个数可变函数,又称可变参数函数。/* va函数原型声明格式 */type va_function(tpye arg1, type arg2, ...);/****************************************** 1、至少有一个固定参数; 2、...

2019-01-08 17:53:39 1389

原创 c库打印函数

函数#include<stdio.h>int printf(const char *format, ... );/* [until c99]写结果到stdout */int printf(const char *restrict format, ... );/* [since c99] */int fprintf(FILE *stream, const char *format...

2019-01-08 10:12:40 1327 1

原创 图解git_5

情景:紧急bug修复

2018-12-29 10:24:23 449

原创 图解git_4

情景:合并已完成的工作分支

2018-12-29 10:23:44 422

原创 图解git_3

情景:合并最近几次提交为一次提交

2018-12-29 10:23:06 408

原创 图解git_2

情景:放弃对工作区/暂存区/仓库中文件的修改

2018-12-29 10:22:18 425

原创 图解git_1

情景:刚刚创建的提交需要进一步修改

2018-12-29 10:21:20 424

原创 Git常用命令

Git常用命令

2018-12-29 10:09:53 394

原创 ubuntu16.04安装最新版本python3.7.1

ubuntu16.04安装最新版本python3.7.11、安装编译环境sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-...

2018-12-01 21:27:57 2739

原创 ldd学习笔记系列之二

基础知识主设备号和次设备号#include <linux/types.h>dev_t /* 主设备号:12bit,次设备号:20bit */MAJOR(dev_t dev);/* 获取主设备号 */MINOR(dev_t dev);/* 获取次设备号 */MKDEV(int major, int minor);/* 组合设备编号 */#include <lin...

2018-11-30 23:04:27 402

原创 ldd学习笔记系列之一

预备知识头文件#include <linux/module.h> //可装载模块需要的大量符号和函数定义#include <linux/init.h> //指定初始化和清楚函数#include <linux/moduleparam.h> //装载模块时向模块传递参数#include <linux/kernel.h> /* printk()...

2018-11-30 23:02:15 462

原创 linux数据结构——链表

linux内核数据结构——链表源码分析重要宏定义#ifndef offsetof#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)#endif#ifndef container_of/** * container_of - cast a member of a structure out t...

2018-11-30 22:42:09 418

原创 Git局域网服务器搭建

Git局域网服务器搭建1.安装环境cat /proc/version2.安装Git和SSHsudo apt-get install git openssh-server openssh-clientsudo service ssh restart3.增加git用户sudo useradd git4.客户端安装gitwindows版或linux版5.客户端创建密匙及...

2018-11-30 22:39:53 865

原创 gdb调试基本方法

gdb调试基本方法gdb调试常用命令命令命令缩写命令说明listl显示多行源代码breakb设置断点infoi描述程序的状态displaydisp跟踪查看某个变量printp打印内部变量值framef查看栈帧backtracebt查看函数调用信息watch 监视变量值的变化set v...

2018-11-30 22:31:44 483

python-3.7.0a2 for windows

python-3.7.0a2 for windows 亲测可用,widonws环境下学习python必备

2019-01-09

空空如也

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

TA关注的人

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