自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【计算机网络】wireshark数据流追踪、图像抓取(转)

不废话了直接上地址https://www.cnblogs.com/grj001/p/12223954.html

2021-04-21 10:35:24 374

原创 【数据结构算法】快排/归并/堆排序 c++

该题目来自于牛客:算法篇-排序问题快排(必备)+归并(体会分治)+堆(自己建堆)//快速排序 关键在于 partition函数,可以自己参考一个模板,我这个参考大话数据结构class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 将给定数组排序 * @param arr int整型vector 待排序的数组 * @return int整型vector */

2021-04-14 14:12:28 182

原创 SDK 和 API 的区别是什么

SDK 就是 Software Development Kit 的缩写,翻译过来——软件开发工具包。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。SDK被开发出来是为了减少程序员工作量的。比如——有公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功能,但又不想从头开始搞开发,直接付钱省事。API相当于一个函数或接口,按照流程,将SDK中封

2021-04-08 17:57:10 209 1

转载 wireshark的使用方法(转)

https://www.cr173.com/html/20128_all.html

2021-04-06 15:03:11 94

原创 onvif发送订阅规则

发送消息的主要内容:1、初始化请求2、填充要发送的数据3、发送并接受返回的数据4、解析数据5、清理缓存正文1、初始化onvif请求定义一个onvif请求req定义一个onvif标签tag临时资源*tmpValue临时结果tmpresult主机ip acHostIp[16]ip地址 acLocalAddress[128]临时标记tmp_mask[20]//初始化req InitOnvifReq(req);int InitOnvifReq(onvif_req *req

2021-03-31 18:04:47 511

原创 va_list/va_start/va_end的使用

va_list键入以保存有关变量参数的信息va_start初始化变量参数列表初始化ap以检索参数paramN后面的附加参数。调用va_start的函数在返回之前也应调用va_end。参数不能是引用类型,也不能是与传递没有参数的参数时产生的类型不兼容的类型。/* va_start example */#include <stdio.h> /* printf */#include <stdarg.h> /* va_list, va_start, va_

2021-03-31 17:15:09 172

原创 配置u-boot的ip、网卡ip的命令

配置u-boot的ip地址:串口连接设备,重启读秒时快速回车进入u-boot:setenv serverip 192.168.x.x 配置PC段连接的IP.setenv ipaddr 192.168.x.x 配置板子的.配置网卡ip(临时)设备端终端:# ifconfig eth0 192.168.1.155 netmask 255.255.255.0可以更改配置或通过工具手动永久修改ip...

2021-03-29 17:33:59 2884

转载 H.264入门级概念之I、B、P帧

MPEG压缩中的 I、B、P帧首先,MPEG-1压缩的基本思想:帧内压缩和帧间压缩。其次,时间相关性的统计分析:统计的结果表明,在间隔1~2帧的图像中,各像素只有10%以下的点,其亮度差值变化超过2%,而色度差值的变化只有1%以下。采用的压缩方法: 分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。1.定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧;2.预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧;3.数据传输:最后将I帧数据与预测的差值信息进行存

2021-03-25 16:49:48 676

原创 ONVIF Device Manager修改设备密码

这个onvif工具可以实时监控画面,使用起来简单方便左侧一栏是设备信息,中间上半部分是设备配置设置,下半部分是图像预览配置设置。修改密码可通过该工具,点击User management后选择用户类型并且修改密码。...

2021-03-24 18:39:30 2277

转载 二维数组指针

概括的说,指针其实就是可变数组的首地址,说是可变数组,是指其包含内容的数量的可变的,并且是可动态申请和释放的,从而充分节约宝贵的内存资源。我一向喜欢一维数组,除非万不得已,我一般是不用二维数组的,多维的则更是很少涉足了。因为一维简单,容易理解,而用指针指向的多维数组就具有相当的复杂性了,也因此更具有讨论的必要。闲话少说,这里我就以三个二维数组的比较来展开讨论:(1)、int **Ptr;(2)、int *Ptr[ 5 ];(3)、int ( *Ptr )[ 5 ];以上三例都是整数的二维

2021-03-11 14:06:44 167

转载 mac地址和ip地址的区别(转)

先纠正一下几个比较模糊的概念:“MAC地址表储存IP地址”,MAC地址表是二层设备中存储“MAC地址”和“转发端口”映射关系的表,并不直接存储IP地址。“路由器根据MAC地址来选择路由进行数据发送”,对于三层设备的三层端口来说,通常是基于报文目的IP地址,对照自身的路由表来选择转发路径,只有二层设备基于“MAC地址”进行数据帧的转发。这个问题展开了说比较复杂,但是只考虑基本原理似乎也没有那么麻烦,一句话概括就是“二层基于MAC地址转发数据帧,三层基于IP地址转发报文 ”MAC地址”是烧录在网

2021-03-10 17:22:48 1328

原创 find_first_of和find函数的区别

小记:find_first_of函数最容易出错的地方是和find函数搞混。它最大的区别就是如果在一个字符串str1中查找另一个字符串str2,如果str1中含有str2中的任何字符,则就会查找成功,而find则不同;

2021-02-25 16:28:38 370 1

原创 缓存区的输入输出,字符串常用操作,实现strlen/strcpy/strcat/strcmp函数)

输出缓冲区:程序输入的数据并不能立即显示在屏幕上,而是先存储在输出缓冲区中,满足一些条件后才显示出来。1、遇到\n后2、遇到输入语句3、当输出缓冲区满4K4、当程序结束5、手动刷新 fflush(stdout)缓冲区机制可以提高数据的读写速度。#include <stdio.h>#include <unistd.h>int main(int argc,const char* argv[]){ printf("请输入一个整数"); fflush(stdou

2021-02-02 17:11:18 163

原创 【C基础】堆内存创建/释放和内存清理函数/内存泄漏

什么是堆内存:是进程的一个内存段(text、data、bss、heap、stack)之一,由程序员手动管理,特点就是足够大,缺点就是使用麻烦。为什么使用堆内存:1、随着程序的复杂数量变多。2、堆内存的申请释放受控制。如何使用堆内存:注意:C语言中没控制堆内存的语句,只能使用C标准库提供的函数。#include <stdlib.h>void *malloc(size_t size);功能:从堆内存中申请size个字节的内存,申请内存中存储是什么内容不确定。返回值:成功返

2021-02-01 17:16:30 658

原创 原码反码补码位运算,

进制转换:十进制转二进制:求余法:用2对数据求余,然后再对商继续求余,直到商为0结束,过程中产生的余数就是该数据的二进制(逆序)。求权法:数据 - 2^(n-1) 如果可以减 第n位就是1,否则是0。练习1:输入一个正整数m,显示该数据的n(>=2)进制,超过10的用字母显示。在这里插入代码片二进制转十进制:每位的2^(n-1) 求和10101100 128+32+8+4 172注意:二进制数据转换成八或十六进制是为了方便记录二进制数据。二进制转八进制:三位二进制对应一

2021-01-29 11:39:19 300

原创 【C基础】指针/指针运算/二级指针/函数指针

******************************************************************************************************什么是指针:指针是一种数据类型,使用它可以用来定义指针变量,指针变量中存储的其实是整数,这种整数代表了内存的编号。为什么要使用指针:1、函数之间相独立,但有些时候需要共享变量。 传参是值传递 全局变量容易命名冲突 使用数组还需要传递长度 命名空间是独立的,但地址空间

2021-01-27 17:39:34 260 4

原创 如何设计函数?

复习:进制转换: 十进制转二进制:求余,直到商为0,过种的余数就是二进制(逆序)。 二进制转十进制:2^(n-1) 二进制转八进制:三位二进制对应一位八进制 二进制转十六进制:四位二进制对应一位十六进制,超过10用ABCDEF表示 代码中0开头的是八进制数据,0x开头的是十六进制数据 printf %o以八进制显示 %x以十六进制显示原码与补码: 正数的原码就是它的补码 负数的 ~原码+1 才是它的补码 无符号的补码就是原

2021-01-26 17:36:16 1445

原创 物联网摄像机通讯_网络调试助手

1,文档目的:了解对于物联网网关与摄像机协议联动,进行报警抓图,智能检测,OSD叠加,语音播报控制等联动及数据交互。适用产品:物联网网关(OSD是屏幕显示技术的一种)2,总线结构协议方式:采用RS485与UDP共存方式,交互数据格式相同。 RS485采用2线制接口,波特率19200,数据位8,奇偶检验N,停止位1。传输方式:RS485采用半双工总线传输方式。数据在通信过程中,以报文的形式,按帧进行传输。UDP数据采用大端方式网关作为主设备,摄像机作为从设备。3,通信协议数据帧格式:通信数

2021-01-26 17:09:39 491

转载 【C++基础】时间类型详解(转)

Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类Unix系统中,也在许多其他操作系统中被广告采用。目前相当一部分操作系统使用32位二进制数字表示时间。此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制:01111111 11111111 1

2021-01-22 14:16:45 510

转载 关于对象不能直接访问私有成员的误区(转)

先贴代码:#include using namespace std;class CPoint{public: CPoint(int xx, int yy) { x = xx; y = yy; } CPoint(const CPoint &p) { x = p.x; y = p.y; }private: int x, y;};如果你在想为什么拷贝构造函数的参数可以直接去访问它自己的私有成员的话,你就需要好好的看完这篇文章。如果你没有在

2021-01-22 11:19:54 1187

原创 生成迷宫/C++

小时候,都喜欢玩迷宫,现在的电脑上还可以玩3D类迷宫。那么每次开始游戏时,迷宫里密密麻麻的道路是怎么生成的呢?在代码里面,我们把它们想象成一堆像素小格子,当两个格子连在一起,就像一堵墙,那一圈格子就是一间小房间,房间有门,对应的门就没有墙壁。所以生成迷宫地图,就是一个挖墙造门的过程。思路:1.首先假设迷宫场地是充满墙壁没有道路的。我们的工作其实就是把迷宫“挖”出来。不妨把开始时的迷宫看成一些小的“房间”,每个“房间”四面都被墙壁包围。画迷宫的过程实际就是从一个房间随机走到另一个房间,走的过程中把墙

2021-01-20 10:55:03 1303 1

原创 走迷宫+推箱子

两个小游戏的大致逻辑走迷宫:1、定义二维字符数组作为迷宫2、定义变量记录老鼠的位置3、获取游戏开始时间3、进入循环1、清理屏幕,使用system调用系统命令。2、显示迷宫(遍历二维字符数组)3、检查是否到达出口获取游戏结束时间,计算出走出迷宫用了多少秒。4、获取方向键并处理判断接下来要走的位置是否是路,1、把旧位置赋值为空格2、把新位置赋值为老鼠3、把记录老鼠位置的变量改变。推箱子:1、确定数字与字符的对应关系。0 printf(" “);2 printf(”@");

2021-01-14 13:39:26 160

原创 数组越界的后果

数组:什么是数组:变量的组合,是一种批量定义变量的方式。定义:类型 数组名[数量]; int arr[5];使用:数组名[下标]; 下标:从零开始,范围:0~数量-1。遍历:与for循环配合,使用循环变量i当作数组的下标。初始化:类型 数组名[数量] = {1,2,3,4,5,...}; 1、数组与普通变量一样默认值是随机的,为了安全要对进行初始化。 2、这种初始化语法只能在定义数组时使用,而且必须使用常量初始化。 3、初始化数据过多,编译器会丢弃并产生警告

2021-01-14 11:17:39 764

原创 开关语句、循环语句、goto

复习:1、数据类型: signed char 1 %hhd -128~127 signed short 2 %hd -32768~32767 signed int 4 %d 正负20亿 signed long 4 %ld signed long long 8 %lld 9天开头的19位数 unsigned char 1 %h

2021-01-13 10:44:23 1099

原创 数据类型转换规则C语言

复习:1、常用的Linux命令ls、cd、pwd clear touch cp mv rm cat/more/head/tail mkdir rmdir chmodfind grep ifconfig ping whoami man sudoftp telnet ssh tar2、vim文本编辑器vi是系统自带的文本编辑器,vim是它的增强版本。三大模式:正常、插入、行底切换方法:i Esc :正常模式下的操作:光标移动:gg、G、nG、vim file.c +n删除代码:x、nx、d

2021-01-12 18:08:42 283

原创 linux命令编译C语言程序

C语言简介:BCPL->newB->C->UNIX->Linux->gccC语言专门编写操作系统的语言,所以天生适合对硬件编程,也以运行速度快著称,也非常适合实现数据结构和算法。由于出现时间过早,有很多缺陷,也没想普通人会使用C语言编程,因此存在着些陷井,但前辈总结了一些避免的经验《C语言陷井和缺陷》。自由源于自律C89语法标准,也是gcc默认的语法标准。C99语法标准,对C语言的扩展和增强 std=gnu99。C11语法标准,全新的升级。第一个C程序:#

2021-01-12 17:42:59 483

原创 C语言里最基础的关键字

内建类型:void、char、short、int、long、float、double自建类型:struct、union、enum、sizeof类型限定符:auto、const、static、volatile、register、extern、typedef、signed、unsigned分支:if、else、switch、case、default循环:for、while、do跳转:break、continue、goto、return...

2021-01-12 17:04:43 67

原创 vscode解决中文乱码

打开文件时出现乱码文件->首选项->设置,然后在右边用户设置里打开settings.json ,输入:“files.autoGuessEncoding”: true,Ctrl+S保存一下,就搞定了!

2021-01-12 16:59:33 1037

原创 vim文本编辑器的配置vimrc

在行底模式下对vim的设置只是临时有效,如果想长期有效需要把这些设置语句写入配置文件(~/.vimrc)中。打开vim的配置:vim ~/.vimrc" 显示行号set number" tab键宽度set tabstop=4" 设置自动缩进set autoindent" 设置智能缩进set smartindent" 设置自动缩进的宽度set shiftwidth=4" 设置自动保存set autowrite" 设置不产生临时文件set noexpandtab"

2021-01-12 16:17:38 202

原创 linux基础知识点总结-最实用!(环境搭建,系统分区,常用命令,vim文本)

学习工具、网站、方法:分享代码的平台 Github、码云总结知识点平台 CSDN、博客园笔试面试题 牛客网问答网站思否、知乎训练抖音、今日头条思维导图:总结归纳知识点Markdown:typora文本编辑器:VS code开发环境:VirtualBox 虚拟机 开源免费ubuntu12.04 LTSvim 代码编辑器gcc 编译 环境搭建:链接:https://pan.baidu.com/s/1s2lb6MCo4cTLLvwE4vrEWw 提取码:5jbaLin

2021-01-12 16:13:53 191

原创 reboot重启失败的解决方法

今天突然碰到用reboot命令不能重启,上网找原因:reboot不能重启可能是内核正在执行一些进程,reboot发送的信号被阻塞了,估计等一会内核从内核空间跳到用户空间的时候,发现有信号被阻塞了,再执行这个阻塞的信号,然后重启。重启你可以:1.ubuntu的话前面可以加上sudo;2.你可以用init 6试试看;3.shutdown -r但是,第一个方法因为没有权限故没有尝试,用了其他两条也没有解决,最后用reboot -f 强制重启才解决...

2020-12-23 11:45:22 14442 2

原创 Git和SVN的区别,Git的使用方法大全

什么是Git:Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git 与 SVNGit 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Gi.

2020-12-09 15:54:29 301

原创 Shell脚本语言基础总结

实习期间,工作还蛮轻松的,把shell过了一遍,资料多来自于菜鸟,以下是学习总结。作为编程小白要养成良好习惯,踏踏实实。#11.24笔记一,shell教程Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言二,shell环境跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的 Shell 种类众多,常见的有:Bourne Shell(/usr/b

2020-12-09 15:42:07 503

原创 简单的C语言五子棋(两种模式:移动光标输入坐标和移动光标按键)

五子棋:需要的数据:1、定义棋盘数组2、定义变量用于记录棋子位置3、定义角色变量业务逻辑:是否需要对数据进行初始化for(;; ){1、清理屏幕,显示棋盘2、落子坐标要合法,原位置不能有棋子3、检查是否形成五子4、切换角色}第一种(移动光标输入坐标):#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <getch.h>// 棋盘char

2020-07-18 17:02:44 1627

原创 Linux基础学习导图

vim学习相关的思维导图:可以通过ubuntu自带的vim书学习(终端输入vimtutor)

2020-07-07 19:41:00 92

原创 2020-4-5

题目一:<!DOCTYPE html><html><head><meta charset=" utf-8"><script> window.onload=function(){ let txt=document.getElementById("txt"); let st=document.getElementById(...

2020-04-06 05:47:32 115

原创 2020-4-4

题目一post方式get方式提交表单的主要区别?post一般用于传递较大的数据,在数据传递之前会有打包操作,所以可能会造成数据传递数据相对较慢的情况,不过传输的数据都能够被正确的解析,不会出现类似于中文乱码的状况。通过url链接传递数据,和post相比传输的数据量较小,而且传递的数据必须是ASCCI码值范围内的,因此传递中文的时候可能会出现乱码情况。题目二:如何实现文本的竖向排列效果...

2020-04-06 05:47:17 106

原创 2020-4-3

题目一如何让IE8和IE8以下浏览器支持HTML5<!–[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]–>上面这段代码仅会在IE浏览器下运行,还有一点需要注意,在页面中调用html5.js文件必须添加...

2020-04-05 09:56:18 62

原创 2020-4-2

题目一利用事件冒泡原理实现了获取td单元格内容的功能。<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <style type="text/css"> #table{ width:300px; height:100px; border:1px...

2020-04-03 23:14:08 65

原创 2020-4-1

题目一页面加载图片的时候,可能由于各种原因导致加载失败。为了页面的人性化,在失败的时候通常会使用一张给定的图片替代。<img src="logo.gif" onerror="javascript:this.src='default.gif'" >//上面代码本来要加载logo.gif,如果此图加载失败,//触发error事件。就加载default.gif替代logo.gif...

2020-04-01 10:17:20 88

空空如也

空空如也

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

TA关注的人

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