自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 原型Prototype

prototype模式同样用于隔离类对象的使用者和具体类型(易变类)之间的耦合关系,它同样要求这些“易变类”拥有“稳定的接口”Prototype模式对于“如何创建易变的实体对象”采用“原型克隆”的方法来做,它使得我们可以非常灵活地动态创建“拥有某些稳定接口”的新对象—所需工作仅仅是注册一个新类的对象(即原型),然后在任何需要的地方Clone。Prototype模式中的Clone方法可以利用某些框架中的序列化来实现深拷贝。

2023-08-08 13:55:00 38

原创 模板方法Template Method

定义一个操作中的算法的骨架(稳定),而将一些步骤延迟(变化)到子类中。Template Method使得子类可以不改变(复用)一个算法的结构即可重定义(重写)该算法的某些步骤。在软件构建的过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因(比如框架与应用之间的关系)而无法和任务的整体同时实现。

2023-08-08 13:54:13 38

原创 xml-pugixml测试

XML 文档用树数据结构表示。树的根是文档本身,它对应于C++类型 xml_document。文档有一个或多个子节点,对应于C++类型xml_node。根据类型,节点可以具有子节点的集合、对应于C++类型xml_attribute的属性集合以及一些附加数据(即名称)。

2022-11-04 22:40:33 330 1

原创 ICMPv4

IMCP主要用作发送有关网络层(L3)错误和控制消息的机制,让你能够通过发送ICMP消息来获取有关通信环境重问题的反馈。这些消息提供了错误处理和诊断功能。

2022-10-21 19:40:21 642

原创 如何调试内核1

选择Default hostname回车,输入内核名称,然后选择保存回车输入1,发现本来就是打开的

2022-10-19 19:32:39 220

原创 正则表达式

范例:找出含有 (es) (ess) (esss) 等等的字串,注意,因为 * 可以是 0 个,所以 es 也是符合带搜寻字串。范例:搜寻含有 (gl) 或 (gd) 的那一行,需要特别留意的是,在 [] 当中『谨代表一个待搜寻的字节』, 例如『 a[afl]y 』代表搜寻的字串可以是 aay, afy, aly 即 [afl] 代表 a 或 f 或 l 的意思!-r :sed 的动作支持的是延伸型正规表示法的语法。a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

2022-09-03 20:15:02 800

原创 UEFI使用OVMF运行EFI

1. 创建虚拟盘 dd if=/dev/zero of=~/hda.img bs=1 count=10M #1、创建img文件 mkfs -t vfat ~/hda.img #2、将文件重置为FAT格式 sudo losetup /dev/loop0 ~/hda.img #3、映射到loop设备2. HelloWorld实例HelloWorld/HelloWorld.c#include <Uefi.h> #include <Library/UefiLi

2020-12-29 23:09:13 1213 3

原创 串口编程模板

static int convbaud(unsigned long int baudrate){ switch (baudrate) { case 2400: return B2400; case 4800: return B4800; case 9600: return B9600; case 19200: return B19200; case 38400: retu

2020-11-23 23:39:14 144

原创 串口编程实例

#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <termios.h>#include <string.h>#include <unistd.h>int openCom(char *comBuf){ char comName[64] = {0}; snprintf(

2020-11-16 22:39:55 428

原创 Makefile编写示例

target = rebacksrc = $(wildcard ./*.c) #wildcard 来获取工作目录下的所有的.c文件列表obj = $(patsubst %.c,%.o,$(src)) # 将.c替换成.o$(warning "the value of LOCAL_PATH is $(src)") # 打印src$(warning "the value of LOCAL_PATH is $(obj)") # 打印ob$(target):$(obj) gcc $^ -o $@ -

2020-11-02 19:14:28 158

原创 异步回调

一.进程同步及异步的概念1.同步:就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。2.异步异步的概念和同步相对。当一个异步过程调用发出后,调用者不会立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。二.代码1.底层代码reback.c#include "reback.h"//-----------------------底层实现A-----------------------------typedef struct parameter{

2020-10-29 00:06:26 310

转载 windows使用gcc

写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。C 语言编译器用于把源代码编译成最终的可执行程序。这里假设您已经对编程语言编译器有基本的了解了。(一).安装1.为了在 Windows 上安装 GCC,需要到MinGW 的主页 www.mingw.org,进入 MinGW 下载页面,下载最新版本的 MinGW 安装程序。或者到:http://sourceforge.net/projects/mingw/files/,下载 Download mingw

2020-10-09 22:23:17 160

原创 epoll的用法

1、epoll的优势相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核来扩大这个数目,但这似乎并不治本。2、API1、int epoll_create(int size);创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。这个参数不同于select()中的第一个参数,给出最大监听的fd+1的值。需要注意的是,当创建好epoll句柄后,它就是会占用一个fd值,在linu

2020-09-05 00:14:06 267

原创 格式化输出

1、操纵符(manipulator)控制符说明实例boolalpha设置 bool 类型在数据流中显示为 true 或 false。默认情况下,bool 类型变量显示为1或0。cout << boolalpha ; 或 boolalpha (cout);noboolalpha设置 bool 类型在数据流中显示为 1 或 0 (恢复 bool 类型的显示状态至默认)。cout << noboolalpha ; 或 hex(noboolalpha )

2020-08-29 16:12:45 86

原创 函数重载

函数重载的关键的函数的参数列表–也称为函数特征标。

2020-08-08 00:16:41 119

原创 C++文件IO(1)

对于C++输入和输出(简称I/O)几乎每个程序都要用到 ,比如istream类对象cin和ostream类对象cout就是常用的流对象。比如ifstream inFile; //定义bai文件du输入流对象inFile.open(Filename); //Filename是字符串类型,打开文件inFile >> a; //从类似是从你所指定的文件中读取一个字符。cin >> a; //char a; 是从标准输入流(键盘)中读取一个字

2020-07-31 23:44:29 158

原创 智能指针

智能指针注意事项选择智能指针#include<stdio.h>#include<iostream>#include<memory>using namespace std;class report{private: string str;public: report(const string s) : str(s) { cout << "Object created!\n"; } ~rep

2020-07-12 19:52:48 81

空空如也

空空如也

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

TA关注的人

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