自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 日志框架

分离 统一的日志接口层:日志门面(日志的一个抽象层) JCL、SLF4J(Simple Logging Facade for Java)、jboss-logging 实现的抽象层 log4j、logback、log4j2(借log4j之名)、JUL(java utils logging) log4j的使用 使用方法 导入slf4j包 导入log4j包 导入适配包 log4j与log4j2的区别 log4j只需一个jar包 <dependency> <g

2020-12-08 19:52:01 134

原创 复杂度分析

复杂度量级 常量阶 对数阶 线性阶 线性对数阶 平方阶 指数阶 阶乘阶 粗略分为两类:多项式量阶和非多项式量阶。其中非多项式量阶的标红,这种算法问题叫作NP(Non-Deterministic Polynomial)问题 ...

2020-12-08 11:57:40 108

原创 kmp算法

prefix table(前辍表) 字符串a b a b c 最长前后辍 0 a 0 a b 1 a b a 2 a b a b 0 a b a b a c 最后的0不要 最前加一个 -1 前辍表 a b a b c -1 0 0 1 2 求前辍表 void prefix_table(char pattern...

2020-06-02 08:24:24 145

原创 第8章 下半部和推后执行的工作

软中断 软中断在编译期间静态分配,不像tasklet能被动态地注册或注销。软中断由结构体softirq_action表示 struct softirq_action{ void (*action) (struct softirq_action *); } kernel/softirq.c中定义一个包含有32个该结构体的数组 static struct ...

2019-05-28 20:25:46 115

原创 第7章 派遣函数

派遣函数是Windows驱动程序中的重要概念。驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函 数中处理的。 用户模式下所有对驱动程序的I/O请求,全部由操作系统转化为一个叫做IRP的数据结构,不同的IRP数据会被“派遣”到不同的派遣函数(Dispatch Function)中 7.1 IRP与派遣函数 IRP的处理机制类似Windows应用程序中的“消息处理”机制,...

2019-05-26 22:20:40 219

原创 3 资源管理

条款 13 以对象管理资源 void f() { Investment* pInv = createInvestment(); *** delete pInv; } 若操作区过早的return会造成内存泄露,为确保函数的返回值能正常释放,需将资源放进对象内,当控制流离开f,该对象析构函数会自动释放那些资源 auto_ptr是个“类指针...

2019-05-26 21:26:16 98

原创 8 定制new和delete

条款50 了解new和delete的合理替换时机 想要替换编译器提供的operator new或operator delete三个理由 1 用来检测运用上错误 new后没有delete,或多次delete 2 强化效能 编译器的operator new和operator delete主要用于一般性,定制版的效果往往更好 3 收集使用上的统计数据 写一个定制型operator new...

2019-05-26 20:32:04 190

原创 第6章 windows内核函数(字符串操作)

6.1字符串操作 6.1.1. ASCII字符串和宽字符串 char(ASCII字符串)一个字节 wchar_t(宽字符串)两个字节 在构造字符串时使用关键字"L",编译器会自动生成所需的宽字符 wchar_t *str = L"abc"; 在驱动程序开发中,DDK替换成CHAR和WCHAR CHAR *str ="hello"'; KdPrint("%s\n",str); ...

2019-05-20 15:10:52 447

原创 linux设置磁盘分区

指令 lsblk -f 查看磁盘 1、增加磁盘 2、设置分区 指令 fdisk /dev/sdb  接着  n   增加新分区  3、格式化mkfs -t ext4 /dev/sdb1 4、挂载  mount /devsdb1 /home/newdisk  挂载到newdisk文件夹   这种方式只是暂时挂载 5、umount /dev/sdb1或/home/newdisk  卸载 ...

2018-08-19 21:13:45 304

原创 复数

定义复数类,实现对复数的相加,相乘和相除操作#include using namespace std; class Complex { private: float real; float image; public: Complex(){real=0;image=0;}; Complex(float r,float i):real(r),image(i){}; float

2018-01-12 12:19:54 507

原创 洗牌

#include using namespace std; struct node { int data; //牌的大小 int num; //牌所在位置 node *next; }; node *transform(node *head) { int i=1; node *p=head->next; node *start,*r; r=s

2018-01-10 22:52:19 185

原创 判断IP是否正确

#include #include using namespace std; bool judge(string a) //判断函数 { int n=a.size(),count=0,b[3]={0},j=0; for(int i=0;i<n;i++) //有非法字符 if(!((a[i]>='0'&&a[i]<='9')||a[i]=='.'))

2018-01-08 09:59:12 2447

空空如也

空空如也

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

TA关注的人

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