自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件操作函数封装(遍历文件夹下所有文件、统计文件夹下文件大小、删除目录及文件、文件保存、目录树创建)

#include <stdio.h>#include <string.h>#include <stdlib.h>#include <dirent.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <list>#include <iterator&g

2021-10-28 16:59:35 313

原创 ip协议首部校验及tcp校验计算

IP报文首部校验和计算:上图为IP首部结构,16位首部校验和计算方法如下:将图中按照16位进行分组,然后校验和位清零,将数据按16位一组进行累加,最后得出一个结果,如果此结果高16位为0,则将结果按位取反后填入16位首部校验和位置;如果高16位不为0,则将高16位与低16位相加,再看得出结果高16位是否为0,如果不为零则继续相加,直到高16位为0,然后将结果按位取反后填入16位首部校验和位置。上图为一个tcp报文的抓包,提取其中ip报文,从第一行45 00到第三行a8 1c为ip报文,按照上述进

2021-10-18 17:43:06 2867

原创 adb shell启动app,通过命令行启动app,获取app的包及Activity名,各场景下通过adb命令安装app,shell直接安装app

adb connect ip设备,adb -s ip shell进入shell命令行模式。am start 包名/Activity名 启动某个应用am force-stop 包名 关闭某个应用am start -n 包名/Activity名 --stack 3 以分屏模式启动app通过前两个命令可以实现启动关闭app,如果想实现分屏,需要当前android系统支持,使用am start -n 包名/Activity名 --stac

2021-10-08 12:11:52 5350

原创 adb shell input使用,android模拟触屏、事件触发、拖拽等操作

shell控制端下使用input可以实现模拟触屏、虚拟按键及其他触摸操作,具体选项如下一、 text <string> (Default: touchscreen) 向当前输入框中键入字符串,如input text "cs input text"二、keyevent [–longpress] <key code number or name> … (Default: keyboard) 发送事件,测试发现,该动作无法实现长按动作,即使使用–longpr

2021-10-08 11:30:12 5512

原创 select、poll、epoll区别及实例,IO模型区别

UNIX提供了五种IO模型,分别是阻塞式IO、非阻塞式IO、IO复用、信号驱动式IO、异步IO五种,以UDP的recvfrom为例,五种IO比较如下:select、poll和epoll是IO复用的三个系统函数,其中select与poll在效率上是等同的,只不过poll理论监测描述符数量大于select,epoll的效率高于poll和select,这里说的效率比较是建立在监听大量描述符的情况下,小规模描述符三者效率比较无意义,如果只有几个感兴趣的描述符用select和poll即可。select:/*

2021-10-07 14:27:16 216

原创 守护进程-精灵进程创建

守护(精灵)进程,是Linux中的后台服务进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。其没有控制终端,不能直接和用户交互,不受用户登录、注销的影响。创建过程如下:创建子进程,父进程退出,脱离控制终端;子进程中创建新会话,这个步骤是创建守护进程中最重要的一步,在这里使用的是系统函数setsid。setsid函数用于创建一个新的会话,并担任该会话组的组长。调用setsid的三个作用:让进程摆脱原会话的控制、让进程摆脱原进程组的控制和让进程摆脱原控制终端的控制;改变当前工

2021-10-05 12:27:12 272

原创 设计模式之单例模式

单例设计模式属于创建型设计模式,其目的是为了保证一个类仅有一个实例,此类提供一个访问该类的全局访问节点。C++实现代码如下:#include <stdio.h>#include <stdlib.h>class Singleton{public: static Singleton *GetSingleton() /* 获取单例 */ { if(m_Singleton == NULL)//判断单例是否已经实例化-----------------------step

2021-10-04 13:49:35 77

原创 文件系统(ext2)及linux相关文件指令

首先了解两个文件相关的概念:inode和dentry,inode和dentry本质都是一个结构体。inode用来存储文件的属性信息,如:权限、类型、大小、时间、用户、盘块位置等。dentry的主要属性是名称数量、文件名和inode。从此我们可以看出一个文件必然对应一个inode,但是一个inode可以对应多个文件名称。linux观察方法如下:touch inodetest;ln inodetest inodetest1;stat inodetest;stat inodetest1;在linux

2021-10-02 11:44:29 389 2

原创 linux-exec(execl/execlp/execle/execv/execvp/execvpe)函数族

NAMEexecl, execlp, execle, execv, execvp, execvpe - execute a fileSYNOPSIS#include <unistd.h> extern char **environ; int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(con

2021-09-22 11:39:57 769

原创 linux下网速监控 linux及android分网卡网速监控

网速监控 linux及android网速监控在/proc/下面有一个网络信息的设备交互目录,名称是net,net目录下存放了与网络相关所有信息,如网关文件route,tcp连接及归属等信息文件tcp(netstat命令的一部分),udp连接及归属等信息文件udp(netstat命令的一部分)等,与接收数据包相关的文件是dev,cat /proc/net/dev如下图:分为两块,一块为接受区,即第一行中的Receive,一块为发送区,即第一行中的Transmit,如果只考虑网速监控及流量统计,只需要关

2021-08-20 11:50:03 382

原创 unzip/unrar/7za交叉编译

一.下载源码unzip:https://download.csdn.net/download/qq_43547638/19660853unrar:https://download.csdn.net/download/qq_43547638/196606877z:https://download.csdn.net/download/qq_43547638/19660827二.将相关文件解压到linux下分别得到unzip610b、unrar-master和p7zip_16.02三个文件夹。三.修改

2021-06-15 20:08:52 470

原创 进程间同步

进程间同步的方式1.通过设置互斥量的属性实现互斥量初始化函数int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr)通过设置pthread_mutexattr_t实现进程同步,pthread_mutexattr_t相关函数如下:int pthread_mutexattr_init(pthread_mutexattr_t *attr)初始化int pthread

2021-03-14 18:56:59 191

原创 linux下实现USB设备(U盘)及SD卡自动识别及挂载(应用层) linux下U盘识别及挂载 linux下SD卡识别及挂载

两种方式,一种是注册通信句柄去监测内核发送的消息,一种是直接读取文件。第一种网上有很多,可以自行百度,但是这种方式只能识别热插拔,下面主要介绍通过读取文件去识别U盘及SD卡节点,实现挂载。两个目录及一个文件,分别是/sys/dev/block、/dev及/proc/mounts,先通过读取/sys/dev/block下面的连接属性及设备标识符(readlink函数),去确定是否存在USB设备和SD卡类设备,USB设备标识符为usb,SD卡的标识符一般为mmc0,然后再看节点信息,在读取的连接的最尾部可以看

2020-11-27 09:50:27 2466 5

原创 linux下编译tcpdump源码(附tcpdump源码)

1.下载tcpdump源码:http://www.tcpdump.org/下载两个文件:tcpdump-4.9.3.tar.gz和libpcap-1.9.1.tar.gz2.在linux下建立文件夹tcpdump(目录名称随意),将下载的两个压缩包文件拷贝进去,注意不要把这两个压缩包放到和windows的共享文件夹下面去,解压两个文件:tar -xzvf libpcap-1.9.1.tar.gz、tar -xzvf tcpdump-4.9.3.tar.gz(最好设置一下两个文件的读写属性 chmod -

2020-10-28 11:27:32 4563 2

原创 pthread_creat线程创建函数使用注意事项1-参数传入

pthread_creat线程创建函数使用注意事项1-参数传入pthread_creat()函数创建线城需要一定的时间,故使用pthread_creat()时如果需要参数传入,最好在pthread_creat()后加一个延时,10微妙就可以。如果主函数在pthread_creat()后还需要处理很多事项且不会对传入参数产生改变,那么可以忽略这个延时,反之,如果主函数会对传入参数进行改变(包括栈资源释放、参数直接改变等),那么一定要加上这个延时。...

2020-10-19 16:15:52 365

有趣的MATLAB动画演示程序汇总.doc

有趣的MATLAB动画演示程序汇总.doc

2021-10-28

Matlab绘图PPT.ppt

Matlab绘图PPT.ppt

2021-10-28

最新matlab教程ppt(全).ppt

最新matlab教程ppt(全).ppt

2021-10-28

Matlab符号计算(高数上机实验).pdf

Matlab符号计算(高数上机实验).pdf

2021-10-28

Matlab与线性代数实验.pdf

Matlab与线性代数实验.pdf

2021-10-28

数学建模MATLAB软件培训讲义.pdf

数学建模MATLAB软件培训讲义.pdf

2021-10-28

http优化,支持post和get

优化原http库中内存未释放的问题

2021-10-08

软件设计师历年真题 09-18

软件设计师09-18年真题汇总,含答案及解析

2021-09-23

C++STL手册.rar

stl查询手册

2021-09-23

网络工程师必背知识点总结.rar

里面包含网络股工程师所有知识点的总结,含有部分真题解析,包含笔记整理

2021-09-23

unzip610b.zip

unzip源码,如果解压失败,将此文件头部第二个字节修改为0x4B即可,支持跨平台编译

2021-06-15

p7zip_16.02.zip

p7z源码,7z解压、压缩,如解压不开,可将此文件第二个字节改成0x4B

2021-06-15

unrar-master.zip

截至到2021-06-15最新版本unrar源码,支持跨平台编译

2021-06-15

sysstat-12.5.3.tar.gz

cifsiostat iostat mpstat pidstat sadf sar tapestat源码,C源码

2021-03-09

RawMonitor.c,实时网速监控,linux下网速监控,直接编译即可使用

linux下,实现针对网卡的网速监控,在代码里面可将网卡名称改为需要监控的网卡名称即可,如果需要检测多网卡,可以自己将代码复制,再修改不同的名称即可

2020-10-29

cJSON.c,json在c/c++中使用

包含cjson.c、cjson.h及对应的测试用例,实现json数组在C或C++中使用,可移植到linux、window

2020-10-28

空空如也

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

TA关注的人

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