自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangzhicheng2013的专栏

王志成IT心路历程

  • 博客(11)
  • 资源 (14)
  • 收藏
  • 关注

原创 realloc引发的内存泄漏

int main() { char *p = (char *)malloc(10); char *newp = (char *)realloc(p, 20); // realloc不能保证newp与p指向同一块内存 if (newp) { p = newp; } free(p); return 0;}上述代码,如果注释4~6行将引发内存泄漏,free只释放了p生成的内存空间,而realloc生成的内存没有释放。...

2021-11-29 19:47:47 586

原创 指针数组参数传递不当导致安全问题

#define ROW 2#define COL 3void fun(int **p) { int i = 0; int j = 0; for (;i < ROW;i++) { for (j = 0;j < COL;j++) { printf("%d\n", p[i][j]); } }}int main() { int a[ROW][COL] = { { 1, 2, 3}, { 4, 5, .

2021-11-17 11:07:45 326

原创 两种创建二维动态数组效率对比

#include <stdio.h>#include <stdlib.h>#include <string.h>// fun1使用方式1创建n行m列动态二维整数数组void fun1(int n, int m) { int **array1 = (int **)malloc(n * sizeof(int *)); int i = 0; int j = 0; for (;i < n;i++) { array1[.

2021-11-15 15:03:24 228

原创 令人混淆的数组指针加法运算

int a[3] = { 1, 2, 3 };int (*p)[3] = &a; // 赋值正确,p保存指向a的指针,是一个二维指针p++; // 指针跑飞*((*p) + 1) = 10; // stack smashingint b[2][3] = { { 1, 2, 3 }, { 1, 2, 3 } };int (*p1)[3] = b; // 赋值正确,p1保存指向b的指针,.

2021-11-11 11:14:59 119

原创 snort检测插件初始化流程

一 检测插件概述1.代码位置:snort源码src/detection-plugins2.作用:snort规则体可定义关键词,如对于ICMP协议的itype,icode等,这些关键词及其参数都会被检测插件解析,并调用检测插件相关函数进行处理。如在规则体定义itype:3,那么检测插件会根据输入分组packet结构的icmp协议的type和规则里itype进行比较操作。二 检测插件Setup每个检测插件都有Setup函数,例如sp_icmp_type_check.c中的SetupIcmpTyp

2021-11-11 10:30:01 234

原创 ICMP增强型snort规则

一 ICMP协议简介ICMP(internet control message protocol)是面向无连接、不可靠的、基于网络层的消息控制协议,它可以传输数据报错信息、网络状况信息、主机状况信息等。1.ICMP数据封装ICMP报文是使用IP数据报来封装和发送的,携带ICMP报文的IP数据报完全像其他类型数据的数据报那样在网络中被转发,没有额外的可靠性和优先级,由于IP数据报本身被放在底层物理数据帧中进行发送,因此,ICMP报文本身也可能丢失或者出现传输错误。2.ICMP报文类型.

2021-11-10 15:41:51 1821

原创 redis集群moved重定向与redis集群ask重定向

1.redis集群一共有16384个虚拟slot,被均匀分配到集群里所有redis机器node上;2.每个node之间可以互相meet操作,都知道彼此slot范围;3.客户端向redis集群任意node发送命令,相应node使用CRC16加hash算法算出slot,如果slot命中,则返回成功影响,否则返回moved命令和正确的node号;4.客户端收到moved命令,去目标node读写。[root@mysql ~]# redis-cli -p 9002127.0.0.1:9002&gt

2021-11-09 15:06:09 2176

原创 一致性Hash算法

所有数据被组织成Token环里,环由若干个node组成,每个node都保存一定范围的值。一个key按照hash取余加顺时针方式落到Token环中最接近hash值的node上,如下所示:Token环伸缩只会影响到相邻结点,会有少量数据迁移。...

2021-11-09 15:04:36 84

原创 boost::thread_group简单使用

类似线程池,demo如下:#include <boost/thread.hpp>#include <boost/bind.hpp>#include <iostream>void fun(int i) { std::cout << "fun:" << i << std::endl;}int main() { boost::thread_group threads; for (auto i = 0;i

2021-11-05 16:55:45 450

原创 Kafka的rebalance

rebalance是一种协议,它规定了消费组consumer group下所有的consumer如何使用topic相关的分区。1.触发rebalance条件:(1)组内成员发生变更;(2)订阅topic发生变更;(3)topic关联的分区数发生变更。2.rebalance决策者coordinator,按照一定算法产生的broker。3.五种协议(1)Heartbeat请求:consumer需要定期给coordinator发送心跳来表明自己还活着;(2)LeaveGroup

2021-11-04 11:17:00 1261

原创 snort的mSplit函数

一 函数接口以功能// 将一个字符串按照分割字符串进行分割处理后返回字符串指针数组char **mSplit(const char *str, // 原始字符串 如"XXX\t\n122\n222,YY\\UUTY\t111\n\n\\1" const char *sep_chars, // 分割字符串 如" \t,\n" 即按照Tab或逗号或换行进行分割 const int max_toks, // 最多获

2021-11-03 14:13:11 555

多边形游戏

//多边形游戏:n个顶点,n条边的多边形,每一个顶点有一个整数值,每一条边上有*或+,代表乘法和加法 //从中任意删除一条边,用相邻的顶点和关联的边上的运算符进行运算,运算结果产生新的顶点 //用新的顶点取代原来的两个顶点和他们关联的边,这样依次做下去,最后只剩一个顶点,求出最大的顶点值

2012-01-22

字符串匹配程序

#include<iostream>#include<vector>#include<string> #include<sstream>using namespace std;

2012-01-21

计算机集群

distributed processing system, which consists of a collection of interconnected stand-alone computers working together as a single, integrated computing resource

2012-01-19

大规模并行处理机系统 MPP

In a massively parallel processing system, current levels of technology allow for

2012-01-18

对称多处理机

单一物理地址空间(single physical Address Space) 高速缓存一致性(Cache coherence) 低通信延迟(low Latency)Only an OS copy

2012-01-18

Interconnection Network

the n! Connection patterns of its n inputs and n outputs.For example Clos network.In contrast ,blocking network, for example Omega,multistage cube

2012-01-18

Communication in Multiprocessor Systems

在扩展的多处理机、多计算机机群或分布式系统中,各个组成模块都可以系统总线、I/O总线、交叉开关或多级开关互连之。

2012-01-18

高级计算机测试

A PLA has a set of inputs and corresponding input complements (which can be implemented with a set of inverters), and two stages of logic

2012-01-18

高级体系结构课程纲要

A PLA has a set of inputs and corresponding input mplements (which can be implemented with a set of inverters), and two stages of logic

2012-01-18

高级计算机体系结构

单片集成大量三极管,功能增强加工线条精细,三极管尺寸小,门延减小,频率提高集成度提高,功耗增加,温度升高引脚受空间限制线条电阻可能超过门延

2012-01-18

线性表的分析

线性表示一个有序的链表,集合里的元素是谓语有序的口岸

2011-12-19

CBR推理技术模型

AI资料介绍,一些详细的c++编码,和人工智能前沿的技术和方法论

2011-11-23

人工智能课件

人工智能方法与系统,涉及c++编程,还有一些人工智能前沿的问题。

2011-11-23

计算机技术人工智能1

人工智能第一课,的题目是什么呢,这样吧人工智能方法林离的

2011-10-30

空空如也

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

TA关注的人

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